Logo TIB AV-Portal Logo TIB AV-Portal

MapFish Print 3: Reporting meets maps

Video in TIB AV-Portal: MapFish Print 3: Reporting meets maps

Formal Metadata

MapFish Print 3: Reporting meets maps
Title of Series
Part Number
Number of Parts
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Generating reports is an important feature in many web-mapping applications. MapFish Print 3 is an interesting tool for this job. The project MapFish Print project consists of a Java library and a web application for generating reports with maps from many different raster and vector sources, like WMS, WMTS, tile services, WFS or GeoJSON. The integration with the reporting engine JasperReports facilitates the creation of complex reports. A WYSIWYG report designer makes it easy to layout report templates and to position tables, graphics, diagrams, sub-reports, maps or map components like scale-bars or legends. This talk introduces MapFish Print 3 and addresses the following topics: The architecture of MapFish Print 3 The configuration of report templates Using the report designer Examples for complex reports JavaScript libraries that ease the integration with OpenLayers projects Upgrade from the previous version New features and current developments Tobias Sauerwein (Camptocamp) Marion Baumgartner (Camptocamp)
Keywords Camptocamp
Pointer map Meeting/Interview cellular website print lines man tasks PDF
parsing Java sources formating clients open subsets perspective Reporting image Spring service configuration different Office Security errors Kanäle man map screens mapping load web pages widgets sample staff bits Hidden Markov model Checklist processes raster green buffer saturation points framework arrow editors escape inverted PDF web pages files Open Source maximal analysis storage student Mass rules van templates elements number ring configuration structure implementation report web plugin Maßstab default scale information high resolution Content experts clients basis lines processor applications statuts Symbolic mathematics report Spring Software case topology statements table Fingerabdrücke libraries bottom time views ones combination loss font part web geometric mathematics CPUs scalar box framework processes Conversation position PDF sources email width formating regression reps attributes Ext Types real vector configuration website input Prince Security systems server enterprises mapping table link high resolution reps distances processor Coloured fields attributes repo testing plugin tasks domain addition CAP cellular projects polygons Databases print Sphere templates Computer animation service
presentation mapping matchings link files Prisoner's Dilemma print functions sun Twitter Emulation templates CAN-bus Computer animation CPUs configuration testing sum WAN
Slides server mapping high resolution time views sources ones sets bits processor Twitter number fraction Reporting image configuration mazes tasks presentation map formating Databases print Twitter Location processes Computer animation phase Right table modes record
Computer animation
so hard will come from my side for this last talk here in the session before lunch so your main task is that you really prepare for some questions and not do because you're just 3 and the task of those 2 people to be a cell line and modern Baumgardner to tell us what to they I can do with this map fish print which in 3 I think most here made no man fish print if you want to map from your GIS so that jails and you want to does a PDF than map fish printers you away and the details we get from those 2 persons thank you your 20 minutes thanks for the introduction my name is to be assessed as slalom at the site we both worked for a company called can 0 a
European company with offices in Switzerland Germany and France and we work a lot with the upper layer cesium and many of the open source software that you're born at this conference we are hiring so if you're interested please check experts against many of you are doing web mapping projects and the common requirement is printing or PDF export luckily you got a few options and depending on the requirements you can choose 1 of the 1st the easiest way is to use a prince is such Google Maps statement like this so you simply define the customer sees the statute which is used for the different problem print and all the way me as a job was to do a an excited about is to generate PDF directly in Javascript on the client side status of 3 examples um and it takes the map creates a PDF directly in Java strips and you can download it and it's also possible to generate the map in higher resolutions then similar to the 1st option this WKH tend to be f it takes a web page and generates a PDF time but unlike the default problem print you can define custom headers custom fruiters and you can also define the table of contents we use this for project that be developed for the world bank we had a designer and you do what design of web page and you wanted or reports to look the same so we consider to use up his but that would have meant to redo do designed in the templates instead we have chosen WKH too old to pdf and you simply take the the normal page at some constant C is s for the prints and then you generate a PDF it is also very nice way and not just runs on the server side it's something that he called from the command line basically it's based on the rendering engine for crime otherwise generating a PDF doesn't seem to be a difficult task you can use some of the PDF libraries so you can simply Troy you're entitled lands you can download W S imagine insert that's into PDF at 1st it seems easy but then you want to support of the due date of formants and every time you want to change the title with a tiny bit to the left you have to go into the code and develop so if you want to choose 1 of the solutions have have to ask you ask yourself a few questions 1 is to you want to print you map and higher resolutions are you OK with the full screen resolution then do you want to just supported default a 84 page forward you want to do a higher that page ones like a or a 0 1 and also which due date you want to support UK with just downloading and w messenger do you want to render vector then the layout ing how are you going to design new reports you do you have to going to decode to changed to design or do you maybe wanted to do like in OpenOffice or inverted U click on the text change to the font size the the front and a few elements also requests and it is considered as if you generating new port on the client side and server side if you doing it client sites you don't have to do the server infrastructure but it also means that you're putting more work on the client yeah feuding its side you can more easily generate large H formants higher resolutions but it also has that also means that you have to maintain their just infrastructure In the following we arguing about art our solution friends have basically it's a Java library that you used to generate that you use to generate reports with maps and map related complements like escape error a Java library that you can use in your own Java application but it's also a job that application that has to be true has to be deployed to each of us but applications Ephistian 3 is built on 3 open source libraries sphere using due to rules which is also used induced over for generating the map graphics and also for parsing the due date of yeah using Jesper reports is templating engine which also includes the template editor for the layout society and generate a map and then positive just reports and test it just reports is doing all the layout in creating different pictures if needed and 4 of the arcitecture of nephews print we're using the Spring framework so everything in efficient as applied in which makes it easy to extend at the end of his printed cells isn't doing that much it's just writing the web API some security staff and the rich it's like the the the bottom error tables the let's take a look at the current process if you want to generate a report in the few continue configuration you have to define a print that that's what we call it the configuration consists of a configuration file this configurable 5 and the report template in the configuration file you define what you want to shorten your report for example the title on or that you want to use a Escobar and then in the report templates you position the elements to say my title is at the top it's using just font size this scholar and your position in the map and all the other then to generate the report you have to send print requests in the print requests to provide what you want to be shown in the report sustain my title should be this my map should contain these layers I want these features to be shown and I want to show displeasure except and by the time is going to tell you more about how the configuration looks like OK so I will tell you how to configure and and printed part and then it's basically domain configuration is said and done in all configuration file it consists of title here in the 2nd line it's still a portrayed and and in the 2nd line and so in the 3rd line you define the actual report templates that you will use so in this case we're using the report Dutch J. are examined then it has 2 main enemy parts that attribute parts and the processor parts so that tribute part and consists of different attributes in 1 it's still a direct at attributes that we use for the direct inputs in and adjust report and then there's some and directing part and attributes like the map and the scale model the prostitute processes and so there are processed further then the
processors they it and actually do the work of building Europe or at creating the map and for example also creating a scalar so these deaths worried actual work is done in the report and then then the 2nd part is and to create stand the basis of 2 report where it started to report structure and for distance students already mentioned we use the civic editor called Jasper staff Jaspersoft studio and and this is very convenient because you can actually drag and drop elements into the center part where you see down that main report that you're editing so From this part here you can take a text fields and act and to do to the report and you can also change the font size and the font type of element and you cannot images and boa here you have an overview of what has been added to each report and there's different views them what you can see here is to design new then you have and so assume where you can actually see dead source how it's and lay at the source code so the source code is based on XML and you can also you can edit and view that in a 2nd you and switching it can be done all in the bottom and the 3rd is a preview so you can actually look at what you have don't then the 3rd part of a print and report is to print request this season adjacent file and it contains the actual data that's and included in the report so for example if you define the title then you actually define it here so up here we see that the title has been defined as sample print and it will be placed in their place where the title is mentioned before also in its defines what map what protection watch where the center of the map is and what layers are on the map and then 1 last thing that some kind of important is and if you have a map it's not done yet usually usually want to explain a bit more about the map so you want to add a legend you want to add to the north and maybe a scale bar an overview map and a nice think about them this is that it's so all possible to add kind of which to a map to did print report using data to configuration files federal perspective so we have to explain some more and we support a number of 2 data formats for vector geometrical which comes from the U. of S. Jason uh we support tight Soros like 2 hours and tyrants W mass and also times W S and W. intuitive and but we're using neutral true yeah to flow yet for the conversion of different data so it would be easy to support of the due date of formant center supported but you could and to style vector layers you can use as a loading which supports 2 default starting of due to we also have a custom Jason standing for which which is similar to so you it but enough you know as of the but you have symbolized symbolizes so you have you have aligned symbolize you're saying I want dislike to appear in tree color and that with struck with the tube and you can also define selectors so here we are selecting all features that match a buffer around a polygon you can also select features on their attributes to for example using the ideal or some other attributes there's a similar to those of the tables come for free it supported by just reports so it's very easy to create tables and something very interesting is if you want to have multiple maps this is done with the data so so if you want to show or if you want to show more multiple maps and report any don't know in advance when you're writing the configuration how many maps a homey entries you want to show you could you can configure it data source and that his trained and then if you send a print request you say I have 3 restaurants and have a title for each restaurant and for each restaurant I want to show a determine this was and charts fault so as put it out of the box but just reports and what I said about these multiple maps in this case with different spheres creating a data source but you can also connect to other data sources to simply databases of 5 so when you do the print I fish printers use the print request that fish from this generating demand by requesting rep services by request of sources and then it passes on the information to adjust the reports reporting engine and from the template you can also request data so if you want to show an additional data load additional data from a database that doesn't has to be included in the print 1st it is also possible and it's very powerful then this summer 1 to use and that has been shown to included in your existing applications you can even integrate that different and you I'm running in the following page or you can also connect to it from server side I we can't again by developing a library called NGO rich combines spoken 3 and Angola and using NGO you can generate a URI automatically base from a from a print configuration so to the current induced parsers to configuration and then generate inputs fields for example in the print regression in this example we had a if few title of food comments and then just you I was generated from the but also if you during the the Depression there's an open there's never any checks what layers as shown in this matter it checks what features are shown and then convert storable layers layers and openness features to that an efficient print request do you x 3 also supports nephews Prince 3 if you more into texture but the Web API printers I would say it's easy to understand so you can easily into credits being application and before that arcitecture of metaphor and is applied to plug will take in so everything is a plug in all the processes of the process of for example to create a map of all the attributes all the layers of the richest up against so if you're missing and performance you can easily using and create a new plugin and run nephesh print with this place and the website of princess link there pretty given
this to show you and
then you get a link to all
documentation on documentation we have introduction workshop if you want to get to know more about matches current I recommend to to follows introduction workshops if not in the documentation let's chocolaty Create-Net proceso which prisoner graphics we always have forward often have links to examples and each example has to configuration files and also the template and we also have 2 solar expected outputs that we are using for automated tests and they can see what to report is supposed to look like that we have tons of examples n 2 to learn more about people and it's a good way to take a look at these examples to get started so
did set of slides up way but none of this URL and you can find us on the top and Twitter thanks for your
attention so thank you a much broader view and so on now see the task that I give you fulfilled so your questions please have here a long way for me to walk that wait till you get the microphone are you doing anything clever labels on rest basements because 72 dpi as pretty much for every printer paper unacceptable and if you go to a higher resolution than the labels would be too small to read so they do some resizing or something clever but if you using WMS at the W and and you have let's say a map of 500 by 500 and you want to print an adult resolution we are requesting bigger image and then recessing if you then many UW Mesaros also support a higher depict the DPI the options so you can say printing to step in our resolution and and and labels will be scared because of consider you US format and the PDF and the table helps you to be the 1 to matching between the rows in the table and the features on the map to like having a running number from 1 to the next which is also displayed on the map so is there are some mode of Britain's support for such transient numbering he would have to do it on when you're generating a print request to review would slave and naturally to the 1st feature and then also the same number to the 1st forfeited to automatic support you would have to do from process also have its that's 2 different processes just the net processor which creates a map of the features and then you have to turn process server generates separate that would be the way to go you of we have 1 example you said you have a lot of examples in the regimentation URL example therefore the external database that is directly accessed from all from the external data sources that this success from just reports thinking it's not in the examples that so somebody should do it in 2 years will request and will be added to and all questions so I would see a lot of hungry phases so that's the right pointed 1 time to tell you that land is prepared and if you hurry up all the other talks may still be discussed so be the 1st ones to get the