[postgis-devel] Can a PolyhedralSurface/TIN be an element of MultiSurface ?
Even Rouault
even.rouault at spatialys.com
Sun Jul 17 06:43:13 PDT 2016
Hi,
We've stumbled upon this philosophical question with our GDAL GSoC student
when trying to convert a shapefile MultiPatch into a OGR Geometry. My idea was
to model a MultiPatch as a MultiSurface whose children could be Polygons (for
parts of type outer ring, inner ring, first ring or ring) or TINs (for parts of
type triangle strip or triangle fan). But it seems that according to
https://github.com/postgis/postgis/blob/svn-trunk/doc/bnf-wkb.txt or
https://github.com/postgis/postgis/blob/svn-trunk/doc/bnf-wkt.txt, a
MultiSurface can only have Polygon or CurvePolygon as elements. And PostGIS
does enforce that when importing WKT (
https://github.com/postgis/postgis/blob/svn-
trunk/liblwgeom/lwin_wkt_parse.y#L260 )
This restriction of MultiSurface to Polygon/CurvePolygon seems to me to be
contradictory with the "Figure 1: Geometry class hierarchy" of OGC 06-103r4
Simple feature access 1.2.1 (
http://portal.opengeospatial.org/files/?artifact_id=25355 ) where a TIN derives
from Surface. And according to ยง6.1.13.1, "A MultiSurface is a 2-dimensional
GeometryCollection whose elements are Surfaces".
Even more confusing, according to bnf-wkt.txt, a polyhedral text or tin text
could be a valid MultiSurface, despite PolyhedralSurface/TIN not being modeled
as a MultiSurface.
So I'm wondering if the restrictions of bnf-wkt.txt and bnf-wkb.txt regarding
the accepted children type of MultiSurface are legitimate ?
Even
--
Spatialys - Geospatial professional services
http://www.spatialys.com
More information about the postgis-devel
mailing list