MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... ·...

36
MapFish Print V3 Printing Maps like a boss Tobias Sauerwein, Emmanuel Belo, Elisabeth Leu, Camptocamp SA

Transcript of MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... ·...

Page 1: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

MapFish Print V3

Printing Maps like a boss

Tobias Sauerwein, Emmanuel Belo, Elisabeth Leu, Camptocamp SA

Page 2: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

2/37www.camptocamp.com / AGIT 10.7.2015

Übersicht

■ Camptocamp

■ Was ist MapFish Print?

■ Die alte Version 2

■ Die neue Version 3

■ Print Elemente

■ Karten… und mehr!

Page 3: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

3/37www.camptocamp.com / AGIT 10.7.2015

Wien

Chambéry

Lausanne

Open Source Lösungen als Editor und Integrator seit 2001

50 Mitarbeiter Camptocamp bringt Sie mit den

neuesten Open Source Technologien vorwärts

Page 4: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

4/37www.camptocamp.com / AGIT 10.7.2015

Camptocamp: 3 Bereiche

Page 5: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

5/37www.camptocamp.com / AGIT 10.7.2015

MapFish Print

Page 6: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

6/37www.camptocamp.com / AGIT 10.7.2015

Die alte Version 2

Page 7: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

7/37www.camptocamp.com / AGIT 10.7.2015

Die neue Version 3

■ Mapping:

■ Plugin Framework:

■ Web API / Security / Widgets:

■ Layout:

Page 8: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

8/37www.camptocamp.com / AGIT 10.7.2015

Der Print-Prozess

Page 9: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

9/37www.camptocamp.com / AGIT 10.7.2015

YAML Konfiguration

templates:  A4 Portrait: !template    reportTemplate: report.jrxml    attributes:      ...    processors:      ...          

Page 10: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

10/37www.camptocamp.com / AGIT 10.7.2015

YAML Konfiguration

templates:  A4 Portrait: !template    reportTemplate: report.jrxml    attributes:      title: !string {}      map: !map        width: 555        height: 730        maxDpi: 600      scalebar: !scalebar        width: 230        height: 40    processors:      ...

Page 11: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

11/37www.camptocamp.com / AGIT 10.7.2015

YAML Konfiguration

templates:  A4 Portrait: !template    reportTemplate: report.jrxml    attributes:      ...    processors:    ­ !reportBuilder      directory: '.'    ­ !createMap      inputMapper: {map: map}      outputMapper: {mapSubReport: mapSubReport}    ­ !createScalebar {}

Page 12: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

12/37www.camptocamp.com / AGIT 10.7.2015

Report Designer: JasperSoft Studio

Page 13: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

13/37www.camptocamp.com / AGIT 10.7.2015

Print Request JSON POST

{  "layout": "A4 Portrait",  "outputFormat": "pdf",  "attributes": {    "title": "Sample Print",    "map": {      "projection": "EPSG:3857",      "dpi": 72,      "center": [957352.8034848921, 5936844.1402      "scale": 25000,      "layers": [        { "type": "osm", "baseURL": "http://tile      ]    }  }}

Page 14: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

14/37www.camptocamp.com / AGIT 10.7.2015

Karten Widgets

Page 15: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

15/37www.camptocamp.com / AGIT 10.7.2015

Unterstützte Geodaten

■ Vector○ GML

○ GeoJSON

○ WFS

■ Raster○ XYZ Tiles (OSM, ...)

○ (Tiled) WMS

○ WMTS

○ GeoTIFF

Page 16: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

16/37www.camptocamp.com / AGIT 10.7.2015

We Got Style!

■ Volles GeoTools Styling mit SLD für○ Raster

○ Vector

■ MapFish Print 2 JSON styles (ähnlich wie OpenLayers 2 styles)

■ Improved JSON styles for MapFish Print 3○ Kompakter

○ Default Werte

Page 17: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

17/37www.camptocamp.com / AGIT 10.7.2015

Karten sind ja gut… MapFish Print kann mehr!

Page 18: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

18/37www.camptocamp.com / AGIT 10.7.2015

Output Formate

■ PDF

■ png, gif, bmp, tif

■ Excel

■ Word

■ OpenOffice

Page 19: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

19/37www.camptocamp.com / AGIT 10.7.2015

Legenden

Page 20: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

20/37www.camptocamp.com / AGIT 10.7.2015

Tabellen

Page 21: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

21/37www.camptocamp.com / AGIT 10.7.2015

… mehr als Tabellen

Page 22: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

22/37www.camptocamp.com / AGIT 10.7.2015

Schöne Seitenumbrüche

Page 23: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

23/37www.camptocamp.com / AGIT 10.7.2015

Was ist besser als Karten? Mehrere Karten!

Page 24: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

24/37www.camptocamp.com / AGIT 10.7.2015

Mehrseitige Karte

Page 25: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

25/37www.camptocamp.com / AGIT 10.7.2015

Mehrseitige Karte

Page 26: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

26/37www.camptocamp.com / AGIT 10.7.2015

Charts

Page 27: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

27/37www.camptocamp.com / AGIT 10.7.2015

Externe Datenquellen

Page 28: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

28/37www.camptocamp.com / AGIT 10.7.2015

Client seitige Unterstützung

Page 29: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

29/37www.camptocamp.com / AGIT 10.7.2015

Client seitige Unterstützung

Page 30: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

30/37www.camptocamp.com / AGIT 10.7.2015

Client seitige Unterstützung

Page 31: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

31/37www.camptocamp.com / AGIT 10.7.2015

Oder Einbindung als einfacher Link...

Page 32: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

32/37www.camptocamp.com / AGIT 10.7.2015

Plugin Architektur

Page 33: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

33/37www.camptocamp.com / AGIT 10.7.2015

Designed for Scalability

■ FileStore Konzept für verteiltes Drucken:

Request auf Server X ≠ Ort des generierten PDF

→ Skalierbarkeit

Page 34: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

35/37www.camptocamp.com / AGIT 10.7.2015

Danke für die Aufmerksamkeit!

Page 35: MapFish Print V3 - GitHub Pageseleu.github.io/presentations/mapfish-print/MapFish_Print... · 2015-07-20 · / AGIT 10.7.2015 3/37 Wien Chambéry Lausanne Open Source Lösungen als

36/37www.camptocamp.com / AGIT 10.7.2015

Danke für die Aufmerksamkeit!

■ MapFish Print auf GitHub:

http://github.com/mapfish/mapfish-print

■ Dokumentation:

http://mapfish.github.io/mapfish-print-doc/

[email protected]

... oder beim Open Source Stand