26
MapFish Print 3 Printing maps like a boss Tobias Sauerwein Camptocamp

MapFish Print 3 : Printing maps like a boss

Embed Size (px)

Citation preview

Page 1: MapFish Print 3 : Printing maps like a boss

MapFish Print 3Printing maps like a boss

  

 Tobias Sauerwein

Camptocamp 

Page 2: MapFish Print 3 : Printing maps like a boss

CAMPTOCAMP

Page 3: MapFish Print 3 : Printing maps like a boss

CAMPTOCAMP

Page 4: MapFish Print 3 : Printing maps like a boss

MAPFISH PRINT?

Page 5: MapFish Print 3 : Printing maps like a boss

THE PAST: MAPFISH PRINT 2

Page 6: MapFish Print 3 : Printing maps like a boss

MAPFISH PRINT 3

Plugin Framework

MapFish PrintWeb API / Security / Widgets

Mapping Layout

Page 7: MapFish Print 3 : Printing maps like a boss

PRINT PROCESS

Page 8: MapFish Print 3 : Printing maps like a boss

YAML CONFIGURATION

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

Page 9: MapFish Print 3 : Printing maps like a boss

YAML CONFIGURATION (ATTRIBUTES)

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 10: MapFish Print 3 : Printing maps like a boss

YAML CONFIGURATION (PROCESSORS)

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

Page 12: MapFish Print 3 : Printing maps like a boss

PRINT REQUEST

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

Page 13: MapFish Print 3 : Printing maps like a boss

MAP WIDGETS

Page 14: MapFish Print 3 : Printing maps like a boss

SUPPORTED GEO-DATA

VectorGMLGeoJSONWFS

RasterXYZ Tiles (OSM, ...)(Tiled) WMSWMTSGeoTIFF

Page 15: MapFish Print 3 : Printing maps like a boss

WE GOT STYLE!

Full GeoTools styling with SLDMapFish Print 2 JSON styles (similar to OpenLayers 2styles)Improved JSON styles"[INTERSECTS(geometry, buffer(POLYGON (...), 2000))]"  "symbolizers": [    {      "strokeColor": "green",      "strokeWidth": 2,      "type": "line"    }  ]},

Page 16: MapFish Print 3 : Printing maps like a boss

Maps are cool.But we can do more!

Page 18: MapFish Print 3 : Printing maps like a boss

WHAT IS MORE AWESOME THAN A MAP? MORE MAPS!

Page 19: MapFish Print 3 : Printing maps like a boss

MULTI-PAGE MAPS

Page 20: MapFish Print 3 : Printing maps like a boss

CHARTS

Page 21: MapFish Print 3 : Printing maps like a boss

EXTERNAL DATASOURCES

Page 22: MapFish Print 3 : Printing maps like a boss

CLIENT SIDE SUPPORT

CGXP Plugin: cgxp.plugins.Print

Page 23: MapFish Print 3 : Printing maps like a boss

PLUGGABLE ARCHITECTURE

Page 24: MapFish Print 3 : Printing maps like a boss

BACKWARDS COMPATIBILITY

Completely new configurationCompatibility API for legacy clients

Page 25: MapFish Print 3 : Printing maps like a boss

MAPFISH PRINT 3

MapFish Print on GitHub: github.com/mapfish/mapfish-print

 This presentation on GitHub:

github.com/tsauerwein/talks_fossgis2015 

Me on GitHub/Twitter: @tsauerwein

Page 26: MapFish Print 3 : Printing maps like a boss