Bestand wählen
Merken

Next Generation of Printed Maps

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
I'll explain a bit more about that but what's in Memphis print and what is mapped spend the 1st just a word about myself at those you don't know me and I've been 10 + years as part of the 2 spatial open source project and have been a contributor to projects like due tools server UTA to orchestrated you network map is print security of the West and probably some others as well that have forgotten me I have also listed a few of the languages that I'm currently using more less day-to-day I
work for camp to camp who is a company based in Switzerland and France and we also have an office in Austria and obviously I'm part of the geospatial division so
what is mapped fish print well In short it's a a application for generating reports with a particular focus on mapping and geospatial data so very very simple mandate and here's an example of
such reports and is a very simple report but you can see there's some branding North arrows scale bar and then the map and then and there may be another page would be would be the legend and then often they'll be tables and other data as well and in the report uh Matisse prints
also has a client library for creating from web based clients and here's the 1 for me to version 2 and its airspace library but the API is fairly simple so you don't you're not tied to using this client you can roll around quite easily as well the this is
architecture of the version to map this printer lines show this to you because I want to give you some context when I show you the architecture of the 3 so the main thing I want you to notice is the big box and here Matthias print contains everything it's responsible for rendering the maps for creating generating the output formats and configuration templating layout all this
compared to b 3 where the architecture is dramatically different am I should mention that version 3 is a complete rewrite we learned a lot of lessons doing version 1 and Version 2 and I and there are certain features that were either very hard or impossible to implement so with an eye to a bit more flexibility we developed uh Matisse print version 3 and thing that you'll notice is a map is print has a much more focused responsibility and it's the Web API and it's the kind of glue or configuration component we used you tools for the mapping JasperReports we use for our and the layouts the templating and all the different output format support the same with inversion
to we haven't based on client library seeking integrate Terex chess libraries and working on an angler JS and library as well
possibly the biggest benefit we get from from using JasperReports isn't setting instead of having to get a developer to create your templates from anybody essentially can create a template using this Jasper studio I'm it's it's pretty nice in that you can drag and drop images straight directly on the page you get a see how big the pages on you can do things like expression so you can add different numbers together that'll be filled in later once the report is being generated and the styling is very powerful want I reports yeah you can use i reports as well I believe from not 100 I haven't tested myself but I think so because it's the same tool the same format an inversion
to the very last um release maybe it's not even last release yet we added the ability to do multiple maps for page but it was really tacked on it's not integrated for B 3 because using JasperReports it's we don't have to do any work it just was on part of the system and out of the box
so and it's partly because in this example I'm illustrates 2 things both from some benefit we get from jet using just reports but also a low level architecture of matters print B 3 so in the 2 if you wanted to say have the many tables or many maps decline had to be smart and be able to provide all the data required to generate all these maps in the 3 1 it just reports allows you to essentially declare put all the maps 1 after another right here with this much spacing in this sort of border and then it will intelligently least create new pages it'll if the map this is for example too big to fit on 1 page is don't won't cut the map have split onto pages it or put the whole thing on the next page and then in the map print B 3 we have a concept of a processor which takes in
input data and generates other data which can be fed into the reporting engine and so in this example the client posts a geometry and the map and the processor takes this increase a whole bunch of maps which are assumed in portions of the geometry so here all the pages that are generated from this from the client doesn't have to know virtually anything other than its posting a map and the configuration takes care of the home the rest of it but that the flow as they call it is in restricted just to maps it can be any object so for example you might have a whole bunch of tables might have a heterogeneous mix of things they might have a map and a table and then a legend in into more maps in another table for example and the report will just and grow as needed and here is a little aside from my track I just want to give a contrast between
different styles so we have 1 that
table here very simple and then another styling and Satan fancy not everything you can do we can get kind of small taste for the difference the more the flexibility we have using just reports and
and had this is the result from our map print B 2 so in the in just reports the concept of flowing can like in a newspaper long column so you don't have to just slow 1 after another you can clone columns so certain types of data like a legend might be fairly narrow I don't wanna just take up 1 3rd of the page and then create another page industry 131 a flow and so a contributor added this and that I have no idea who so not blaming anybody but clearly it wasn't tests in all cases have so here is a quick down I just made up and maybe 2 5 minutes or so and it is illustrates and this is where the templating like the on the application is defined by 1 3 columns here and a fill up as necessary and so now this is very trivial to do and it always is legible and in the 2 with no concept
of charts but banks just report we not only have charts but many different types of charts the support OK inversion 2 it was
very strict where did it came from so the mapping data or rather the mapping imagery always came from Web services and and the vector data and the table they always came from the client it had be posted in the 3 the we can get from the web or from files or from databases or just when in the source that you can imagine and it doesn't matter what type of data it is if it's vector data we can get it from any these sources map imagery it doesn't matter if it's a PostGIS that you've TIFF file even a URL to a dutiful download it and render from same table data and target the the the we also
have a concept of preconfigured reports so suppose you wanna really dumb client arm and declined says primi Report No. 3 they can the can in the configuration file you can configure the map which layers you wanna render the bounding box which scale and so on and the client and NASA 90 this intercessor no I'm report 3 in that we some nice description for the user we also
designed a map fish print every 3 for scalability so you don't need to set up a system like this but this is 1 option you have so you can set up so the PrintServer it's only responsibility is accepting web requests and then it forms actual work to a cluster of servers I In map B 2 when of course generated is always wrote written to the disk as a file on a local server had a keep track of OK this user made this request so he has to be routed to this computer not so in the 3 and there's a concept of file store and it could be an S 3 it could be a file or whatever it could even be a blob in memory yeah and then there's a registry and for communication that could be anything as well it could be a Cassandra cluster for example the but lots of times
you don't have these requirements so you could also just set up a single server which has the printer and a file system or you don't need the file system you could just configured so it uses memory only I and that's scalable in its own way because in version 2
this island was what I call OpenLayers to j signs style format and it's very very simple basically you say the line styles aligned cell dashed online color red and there's some very basic rules that you can apply but not very much In the because these 2 tools we have support for and SLD so you can do and styling and take their signup lifestyle if you had this in metal and a difference of 2 different zoom level and they also have Rasta styling so if you get a w mass layer you can maybe we map the colors turn red to blue blue to red for example but as so the is most people agree is makes your eyes kind of crossing is very fun to read all right so we have other formats that are supported as well this simple backwards compatibility we have the same format style format that's
in um version to map this version 2 but also also work custom Jason style which is kind in between SLT and openness to days format and some other features that has ah you can define a string so it's a CQL string for those that they're familiar with that to select the features to fight this style that you also have scale dependency so you can apply this style and at these scales and you can find variables they can say the basic color is red and then you can reuse the variable throughout the document so we only have to change in 1 place a year the falsity can specify all the defaults and then in a solid to say I change the fill color so it's some more compact and much simpler than SLB to use that as a good portion of the functionality as well
and it'll get richer over time the 3
is very extensible with plug-ins for everything so for example the organization as and some service that provides maps where you can write a plugin for that drop it into the web application and with no changes to the source code you can um get those maps embedded in your reports other plug-ins are what I call components of scale Bart Bok north arrow vector styles but told about 3 different types but you could say I Red Cross among where it's just 90 and it looks up directly from a database or some other source report storage or a mention a sick beyond files or S 3 or some file server somewhere the and processes that's the idea of it takes input data and output output data of any sort and that's that directly to it the recording engine so you can write those as well output formats well of course
In the 2 PDF was really the main output formats and she works very hard you get PNG another image formats to work and with various amounts of reliability those are 1st class citizens with just reports so that output is quite good and it takes into account DPI and various other factors that are taken into account in the 2 so and the 3 we took pay special attention to testing more testing and even more testing because when I joined the project there was literally 0 tests in the project and in the 3 we have around 90 % unit test coverage and another 90 % integration test coverage so we have like belt and suspenders like comes to testing In the to the security and I apologize for going so fast that the 1st time I did this talk it took 40 minutes or so on a really gone on the security and need to was limited to essentially saying OK these are the servers that with my printer is allowed access denial of the request but the 3 and we take into consideration that and if a user wants acts that use of fire file neural we don't want them to download the entire database or something like that using fire file URL so the file accesses sandbox to the same directory and subdirectories as the configuration file also you can place access rules on templates so 1 template can be accessible only by take a set of users and this is particularly important for B 3 because it can access the data directly out of a database and that could be sensitive information in the report it we also add and various types of metrics exposed in various different ways and so for example how long does request take 2 and run on average and how many errors are there how big is average reports size and how long does it take to compile the different templates and so on I'm the examples are a 1st class citizen in Memphis print and what I mean by that is all the examples are and at build time so we have we take the output from the build we have an expected input we compare them to make sure the examples not only run but also give the correct output and every time we add a feature more unless we had an example as well so we have a nice selection of working examples for people to work with the documentation in the 3 and is actually generated from the source code were released the pertinent parts of the documentation so that it's less likely to be out of date from the source code which is always a problem with all sorts of projects this does come at a cost of
course I mean that cost is backwards compatibility the configuration files are almost completely different than the 3 and while that sounds like a complete disaster you do have to remember that a lot of configuration is the templating and because we have a powerful templating tools that alleviates allow the pain of migrating the configuration files for the Web API we do have a new API but we also have a shame for backwards compatibility so most clients should be up the work and using that compatibility API while they're working on migrating to the new API the the OK so map is print B 3 bigger better faster smarter stronger and the documentation is at this URL here and this is the final you're all but I do have to warn you that the documentation is far from finished and the styling will most likely be cleaned up and we i want add more links to kind of cross-reference between different attributes and processes and so on different parts but it gives you place it and stop playing and along with examples you can get quite a ways with that at the moment the repository it's interceptor repository but that's only a temporary thing and we're going be merging it back into the normal map fish repository before too long and again for and
that's everything so but the questions on I the it does sound like they're not GS for reports is gone replaced the complete YAO well the correct there is still configured in fact file Yamal file but and it's more a functional description of what the system does not the layouts and the template so it's it's a typically very small when
do you think we rely our 1st official release of the 3 was always that's hard to say that who we are putting a system in production we've almost got ready and as of 2 weeks ago and so it should be in production in a couple weeks and so I'd like to see how that goes in here a couple times on that and maybe in a few months beginning next year perhaps hello
hello would it be to hook in your customers be or system and well the system is flexible so you can do that it's designed to be able to do that but a few of the processes for example assume just reports and so you would be all users processes in a configuration file that's all but you can completely replace it with the murder some other custom implementations a 10 you get your friendster images of an export I would come this and that no you can't because its entire reports only part of it is actually really spatial right but yet because the plug you could add that but I haven't seen very many of requests for that some analysts ch is the security system employable the for authorization yes it is the user's Spring configuration are screen security so you have all sorts of different options from caste to held up to in memory on 6 user store so yes if you end of hi uh as you know if we the rates are much their brain inducer I was wondering how how difficult or easy if use tool take it as library and use it in another application of the work of fiction I'm for GeoServer meticulous should be pretty easy because I kind of made a point of not using any spring API said there like new soul you can buy and use a problem with the
Juicer 1 just to exclude all those dependencies and you tools I can memoryless version but it should be compare compatible as well with that you to server versions in otherwise shaking down with it as a jar as well as the water or as a and like a command line application protesting and stuff like that near the questions no OK good thank you very much that
the
Softwareentwickler
Bit
Server
Datennetz
Open Source
Computersicherheit
Hochdruck
Formale Sprache
Applet
Computeranimation
Mapping <Computergraphik>
Software
Mereologie
Wort <Informatik>
Projektive Ebene
Mapping <Computergraphik>
Fokalpunkt
Hochdruck
Mereologie
Kartesische Koordinaten
Fokalpunkt
Division
Computeranimation
Office-Paket
Mapping <Computergraphik>
Zentrische Streckung
Benutzerbeteiligung
Client
Programmbibliothek
Versionsverwaltung
Zeitrichtung
Verkehrsinformation
Computeranimation
Homepage
Tabelle <Informatik>
Bit
Subtraktion
Quader
Template
Hochdruck
Versionsverwaltung
Kontextbezogenes System
Computeranimation
Mapping <Computergraphik>
Endogene Variable
Dateiformat
Zusammenhängender Graph
Umkehrung <Mathematik>
Computerarchitektur
Konfigurationsraum
Gerade
Funktion <Mathematik>
Template
Zahlenbereich
Computeranimation
Integral
Homepage
Arithmetischer Ausdruck
Computerschach
Client
Programmbibliothek
Dateiformat
Umkehrung <Mathematik>
Softwareentwickler
Bildgebendes Verfahren
Verkehrsinformation
Quader
Hochdruck
Raum-Zeit
Quick-Sort
Computeranimation
Homepage
Übergang
Mapping <Computergraphik>
Multiplikation
Rechter Winkel
Mereologie
Computerarchitektur
Coprozessor
Tabelle <Informatik>
Ein-Ausgabe
Räumliche Anordnung
Datenfluss
Computeranimation
Homepage
Objekt <Kategorie>
Mapping <Computergraphik>
Client
Weg <Topologie>
Mixed Reality
Bildschirmsymbol
Coprozessor
Konfigurationsraum
Verkehrsinformation
Tabelle <Informatik>
Resultante
Softwaretest
Subtraktion
Template
Hochdruck
Kartesische Koordinaten
Datenfluss
Template
Computeranimation
Homepage
Mapping <Computergraphik>
Datentyp
Tabelle <Informatik>
Subtraktion
Datenhaltung
Quellcode
Vektorraum
Elektronische Publikation
Computeranimation
Mapping <Computergraphik>
Client
Benutzerbeteiligung
Web Services
Datentyp
Umkehrung <Mathematik>
URL
Tabelle <Informatik>
Zentrische Streckung
Telekommunikation
Quader
Skalierbarkeit
Hochdruck
Computer
Physikalisches System
Elektronische Publikation
Computeranimation
Konfiguration <Informatik>
Mapping <Computergraphik>
Deskriptive Statistik
Benutzerbeteiligung
Client
Skalierbarkeit
Mini-Disc
Festspeicher
Endogene Variable
Server
Speicher <Informatik>
Konfigurationsraum
Verkehrsinformation
Konfigurationsdatenbank
Bitmap-Graphik
Offene Menge
Subtraktion
Versionsverwaltung
Vektorraum
Ruhmasse
Zellularer Automat
Schlussregel
Zoom
Ähnlichkeitsgeometrie
Computeranimation
Übergang
Vorzeichen <Mathematik>
Festspeicher
Server
Dateiverwaltung
Dateiformat
Kantenfärbung
Gerade
Bitmap-Graphik
Offene Menge
Zentrische Streckung
Lineares Funktional
Versionsverwaltung
Vektorraum
Ähnlichkeitsgeometrie
Computeranimation
Lastteilung
Variable
Offene Menge
Dateiformat
Kantenfärbung
Default
Zeichenkette
Komponententest
Hochdruck
Klasse <Mathematik>
Mathematisierung
Web-Applikation
Template
Computeranimation
Datensatz
Softwaretest
Mittelwert
Trennschärfe <Statistik>
Datentyp
Zeitrichtung
Zusammenhängender Graph
Tropfen
Speicher <Informatik>
Ganze Funktion
Konfigurationsraum
Bildgebendes Verfahren
Datei-Server
Funktion <Mathematik>
Softwaretest
Zentrische Streckung
Linienelement
Computersicherheit
Datenhaltung
Template
Linienelement
Schlussregel
Plug in
Quellcode
Vektorraum
Ein-Ausgabe
Elektronische Publikation
Teilbarkeit
Quick-Sort
Integral
Mapping <Computergraphik>
Dienst <Informatik>
Menge
Mereologie
Server
Dateiformat
Projektive Ebene
Information
Verzeichnisdienst
Verkehrsinformation
Fehlermeldung
Subtraktion
Prozess <Physik>
Momentenproblem
Dokumentenserver
Template
Konfigurationsraum
Hochdruck
Physikalisches System
Binder <Informatik>
Elektronische Publikation
Computeranimation
Mapping <Computergraphik>
Deskriptive Statistik
Client
Benutzerbeteiligung
Mereologie
URL
Normalvektor
Konfigurationsraum
Leistung <Physik>
Attributierte Grammatik
Autorisierung
Quelle <Physik>
Subtraktion
Punkt
Prozess <Physik>
Computersicherheit
Implementierung
Kartesische Koordinaten
Physikalisches System
Bitrate
Elektronische Publikation
Biprodukt
Quick-Sort
Auswahlverfahren
Konfiguration <Informatik>
Rechter Winkel
Festspeicher
Hook <Programmierung>
Mereologie
Vorlesung/Konferenz
Speicher <Informatik>
Konfigurationsraum
Bildgebendes Verfahren
Versionsverwaltung
Vorlesung/Konferenz
Kartesische Koordinaten
Computeranimation

Metadaten

Formale Metadaten

Titel Next Generation of Printed Maps
Serientitel FOSS4G 2014 Portland
Autor Eichar, Jesse
Lizenz CC-Namensnennung 3.0 Deutschland:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/31680
Herausgeber FOSS4G, Open Source Geospatial Foundation (OSGeo)
Erscheinungsjahr 2014
Sprache Englisch
Produzent Foss4G
Open Source Geospatial Foundation (OSGeo)
Produktionsjahr 2014
Produktionsort Portland, Oregon, United States of America

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Mapfish-print is a library and web-application for printing maps and reports using data from multiple online web mapping solutions like WMS, WMTS, OSM, WFS, GeoJson, etc... The project is now nearly a decade old and is being used by a large number of websites. However, there are limitations to the original design, including the inability to have more than one map in a page, limited formatting and output restricted to PDF (in practical terms).Mapfish-print V3 is the result of a major change in the underlying implementation. Thanks to integration with Jasper Reports and the new pluggable architecture the new version of Mapfish print is more powerful, flexible and scalable than ever before.This talk will be targeted at the primarily website developers and managers will look at: * The new features present in the new version * How to use the new features * How to use the report designer * Examples of advanced formatting * How to upgrade from previous versions * The design decisions that allow mapfish-print to be a more scalable solution * A very high level look at the ways the application can be extended by a developer for a specific vertical
Schlagwörter pdf
print
mapfish
wms
wfs
wmts
tms

Ähnliche Filme

Loading...
Feedback