···
On Fri, Jun 19, 2015 at 3:16 PM, Ian Turton <ijturton@anonymised.com.> wrote:
Sounds good to me, do you plan to push the formatters into geotools so that other people can use them?
Ultimately I think so.
Question: since you’re more on the computational geometry side of the fence, I warmly invite you to think about how hard it would be to figure out the common edges on a polygon/linestring layer so that they can be encoded once? Wouldn’t mind a couple hints or a patch either 
Cheers!
Gabriel
Ian
On Fri, 19 Jun 2015 7:13 pm Gabriel Roldan <groldan@anonymised.com> wrote:
Thanks Andrea I’ll prepare the patch then.
Gabriel
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
–
On Fri, Jun 19, 2015 at 2:54 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:
+1 for the community module
Awesome news!
Cheers
Andrea
–
Gabriel Roldán
Software Developer | Boundless
groldan@anonymised.com39…
@boundlessgeo

On Fri, Jun 19, 2015 at 7:41 PM, Gabriel Roldan <groldan@anonymised.com> wrote:
Hello all,
at Boundless we’re working on GeoServer/GWC support for Vector Tiles, hence I’m looking for approval to add a new community module to master in the interest of making the work available for everyone.
TL;DR version:
We’ll be producing “vector maps” in TopoJSON, GeoJSON, and Mapbox PBF formats through the WMS, so that these “vector maps” can be produced for any map dimensions / CRS combination, leaving the slicing into specific grids to GWC, or the client apps requesting the map tiles to the WMS directly where they’re dynamically generated.
The WMS map output format(s) will allow a certain level of control over geometry simplification either through the dpi wms argument or other custom parameter, yet to be determined, and over the number of returned features by respecting the layer’s SLD min/maxScaleDenominator + filter rules.
Work is being conducted on this branch <https://github.com/groldan/geoserver/tree/vectortiles>
At a glance: <https://github.com/groldan/geoserver/compare/master…vectortiles>
Full story:
There are different formats in which vector tiles can be encoded, none of which is an industry or de-facto standard:
Mapbox Vector Tiles: Protocol Buffers based. No support for it in OL3.
TopoJSON: JSON arc-poly topology, points encoded inline. There’s a large OSM dataset in this format and OL3 has support for it
GeoJSON: the good and old GeoJSON format can also be used as vector tiles. OL3 can be set up to use it as easily as it does with TopoJSON.
Now, each format has its pros and cons. The common denominator though, is that all of them can fulfill the requirement of producing geometry generalized versions of raw feature data plus alphanumeric attribtues.
The geometry generalization is key in order to control the resulting tile file size, and the resource consumption on the map client.
On top of that, we want to add other requirements:
- Dynamically generate vector tiles: can do with GeoServer WMS, regardless of map/screen dimensions and requested projection.
- Control over level of geometry generalization: can do with GeoServer’s WMS standard DPI parameter, or other format specific parameters
- Control on number of features produced by zoom level: can do with SLD FeatureTypeStyle Rules and min/maxScaleDenominators
- Leverage the current software stack and existing infrastructure as much as possible: Let GWC request and cache vector tiles in the appropriate tile size/resolution and projection. Leverage OL3’s flexibility to load tiles from TMS, WMS, WMS-C, etc.
Vector Tile Format break down:
++++++++++++++++++++++++
MapBox Vector Tiles
Pros: compresses a bit better than the JSON text based formats with gzip compression.
Cons: non human readable. Lack of support in OL3 so far. Limited control over resolution. Tied to Web Mercator projection by MapBox’s spec, but we intend to overcome that silly limitation
TopoJSON:
Pros: human readable. Allows to share common edges between adjacent geometries.
Cons: The edge sharing is easy to implement from raw OSM data which in itself is a topology. For non topology based data, figuring out the common edges is a slow and resource consuming process. The format can be written with duplicated arcs but kind of defeats its purpose. Yet for the time being we’re producing it without the extra complexity that computing common edges implies. Another con is that it can’t be produced in a streaming way, since the topology needs to be built in memory before encoding.
GeoJSON:
Pros: human readable. Streaming.
Cons: may compress a bit worse than TopoJSON. Yet to be determined. It should compress worse than TopoJSON when the later is encoded with shared edges.
OL3:
-
It’d be good if OL could reuse vector tiles of higher resolutions in lower resolution zoom levels. (already possible with custom grids)
-
It’d be good if OL could merge the geometries for the same features coming from different tiles, as they may be clipped to tile bounds.
-
OL support for MapBox tiles is not yet there, nor part of this effort, but it’ll be there at some point
–
Gabriel Roldán
Software Developer | Boundless
groldan@anonymised.com39…
@boundlessgeo

Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
–
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.
Gabriel Roldán
Software Developer | Boundless
groldan@anonymised.com
@boundlessgeo
