Changes between Version 4 and Version 5 of rfc64_triangle_polyhedralsurface_tin


Ignore:
Timestamp:
Dec 6, 2016, 8:04:41 AM (7 years ago)
Author:
Even Rouault
Comment:

Minor edits

Legend:

Unmodified
Added
Removed
Modified
  • rfc64_triangle_polyhedralsurface_tin

    v4 v5  
    44Contact: avyavkumar at gmail dot com, even.rouault at spatialys.com [[BR]]
    55Status: Development [[BR]]
     6Target version: GDAL 2.2 [[BR]]
    67
    78== Summary ==
    8 As of now, the OGRGeometry class (found at [http://www.gdal.org/classOGRGeometry.html]) (the base class from which all the subtypes are derived) is limited to OGRCompoundCurve, OGRCircularString, OGRLinearRing, OGRMultiLineString, OGRMultiPoint, OGRMultiPolygon, OGRMultiCurve, OGRSimpleCurve, OGRCurvePolygon and OGRPolygon. [[BR]]
    9 [[BR]]
    10 This RFC addresses the addition of the following new geometries in OGRGeometry - [[BR]]
    11 [[BR]]
    12 Triangle - A subset of polygons, the fundamental difference is that it is made of 3 nodes only (actually 4, with the last one being the repetition of the first one) and ONLY ONE exterior boundary and NO interior polygons. [[BR]]
    13 [[BR]]
    14 PolyhedralSurface - A 3D figure made exclusively of Polygons.[[BR]]
    15 [[BR]]
    16 TriangulatedSurface - A subset of PolyhedralSurface; a 3D figure which consists exclusively of Triangles. [[BR]]
    17 [[BR]]
     9
     10As of now, the OGRGeometry class (found at [http://www.gdal.org/classOGRGeometry.html]) (the base class from which all the subtypes are derived) is limited to OGRCompoundCurve, OGRCircularString, OGRLinearRing, OGRMultiLineString, OGRMultiPoint, OGRMultiPolygon, OGRMultiCurve, OGRSimpleCurve, OGRCurvePolygon and OGRPolygon.
     11
     12This RFC addresses the addition of the following new geometries in OGRGeometry:
     13  * Triangle - A subset of polygons, the fundamental difference is that it is made of 3 nodes only (actually 4, with the last one being the repetition of the first one) and ONLY ONE exterior boundary and NO interior polygons.
     14  * PolyhedralSurface - A 3D figure made exclusively of Polygons.
     15  * TriangulatedSurface - A subset of PolyhedralSurface; a 3D figure which consists exclusively of Triangles.
     16
    1817== Reference documents ==
    19 [[BR]]
    20 The following was consulted for the geometries - [[BR]]
    2118
    2219  * [http://portal.opengeospatial.org/files/?artifact_id=25355 OpenGIS Simple Feature Access Part 1 : Common Architecture,v 1.2.1], a.k.a. SFA 1.2.1
    23 
    2420  * [https://github.com/postgis/postgis/blob/svn-trunk/doc/bnf-wkt.txt BNF of WKT encoding]: extracted from SQL/MM Part 3
    25 
    2621  * [https://github.com/postgis/postgis/blob/svn-trunk/doc/bnf-wkb.txt BNF of WKB encoding]: extracted from SQL/MM Part 3
    27 [[BR]]
     22
    2823== Core changes ==
    2924
     
    157152
    158153}}}
    159 * The Triangulated Surface API is similar to Polyhedral Surface, and the MultiPolygon class was tweaked slightly to include methods to run which consisted of subgeometries of the form Triangle. (A MultiPolygon is strictly a collection of Polygons). These methods are internal to OGRMultiPolygon and cannot be accessed by a public user. For instance, the `OGRMultiPolygon::addGeomtryDirectly` method has a check that the subgeometry added to it should be of the type POLYGON. Rather than mess around with the existing function, a new function has been written which does not implement this check -
     154* The Triangulated Surface API is similar to Polyhedral Surface, and the MultiPolygon class was tweaked slightly to include methods to run which consisted of subgeometries of the form Triangle. (A MultiPolygon is strictly a collection of Polygons). These methods are internal to OGRMultiPolygon and cannot be accessed by a public user. For instance, the `OGRMultiPolygon::addGeometryDirectly` method has a check that the subgeometry added to it should be of the type POLYGON. Rather than mess around with the existing function, a new function has been written which does not implement this check -
    160155{{{
    161156/************************************************************************/