[postgis-tickets] [PostGIS] #3712: Address MVT issues reported by specification author
PostGIS
trac at osgeo.org
Tue Feb 21 11:34:32 PST 2017
#3712: Address MVT issues reported by specification author
----------------------+----------------------------
Reporter: strk | Owner: Björn Harrtell
Type: defect | Status: new
Priority: blocker | Milestone: PostGIS 2.4.0
Component: postgis | Version: trunk
Resolution: | Keywords:
----------------------+----------------------------
Comment (by nicklas):
I had a little wild thought from reading this discussion.
If I understand things right, the problem is in validness that turns up
fro simplification and scaling.
We also want tile generation to be as fast as possible for "on the fly"
creation.
The idea is about the simplification issue. If we can identify vertex
points that have to be preserved to not create an invalid geometry then:
If using the effective area from Visvalingam-Whyatt algorithm, and
manipulating the effective area (stored as m-coordinate, it is possible to
both control geometries getting invalid and at the same time get a very
fast "on the fly" simplification.
This require doing some preparation, and would be a "professional
alternative" when needing fast creation and valid geometries.
The function ST_SimplifyVW do it like this when avoiding collapsing
polygons. It identifies the most valuable vertex-points and raises their
effective area to very high value.
The hard part is identifying what vertex_points that need to be preserved
I guess. Then the m-value of that vertex-points just have to be raised to
something insane.
It would mean that m-values had to be stored which will take some space
(only in PostGIS, not in the tile of course).
Link to ST_EffectiveArea:
http://postgis.net/docs/manual-2.3/ST_SetEffectiveArea.html
What I am talking about, I realise, is actually ST_EffectiveArea with some
validity-guarantee for each removed vertex. But I don't know if it is
possible in any easy way.
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3712#comment:15>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list