Hi Ian, On Fri, Jun 19, 2015 at 3:16 PM, Ian Turton <ijtur...@gmail.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 :P Cheers! Gabriel > Ian > > On Fri, 19 Jun 2015 7:13 pm Gabriel Roldan <grol...@boundlessgeo.com> > wrote: > >> Thanks Andrea I'll prepare the patch then. >> >> Gabriel >> >> On Fri, Jun 19, 2015 at 2:54 PM, Andrea Aime < >> andrea.a...@geo-solutions.it> wrote: >> >>> +1 for the community module >>> Awesome news! >>> >>> Cheers >>> Andrea >>> >>> On Fri, Jun 19, 2015 at 7:41 PM, Gabriel Roldan < >>> grol...@boundlessgeo.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 >>>> <https://github.com/mapbox/vector-tile-spec/tree/master/1.0.1>: >>>> Protocol Buffers based. No support for it in OL3. >>>> TopoJSON >>>> <https://github.com/mbostock/topojson-specification/blob/master/README.md>: >>>> JSON arc-poly topology, points encoded inline. There's a large OSM dataset >>>> in this format and OL3 has support for it >>>> <http://openlayers.org/en/v3.5.0/examples/tile-vector.html> >>>> GeoJSON <http://geojson.org/geojson-spec.html>: 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 <http://boundlessgeo.com/> >>>> grol...@boundlessgeo.com >>>> @boundlessgeo <http://twitter.com/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 <http://boundlessgeo.com/> >> grol...@boundlessgeo.com >> @boundlessgeo <http://twitter.com/boundlessgeo/> >> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Geoserver-devel mailing list >> Geoserver-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/geoserver-devel >> > -- Gabriel Roldán Software Developer | Boundless <http://boundlessgeo.com/> grol...@boundlessgeo.com @boundlessgeo <http://twitter.com/boundlessgeo/>
------------------------------------------------------------------------------
_______________________________________________ Geoserver-devel mailing list Geoserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-devel