Changes between Version 41 and Version 42 of rfc61_support_for_measured_geometries


Ignore:
Timestamp:
Mar 8, 2016, 2:03:43 AM (8 years ago)
Author:
Even Rouault
Comment:

Update with wkbTriangle, wkbCurve and wkbSurface

Legend:

Unmodified
Added
Removed
Modified
  • rfc61_support_for_measured_geometries

    v41 v42  
    2323=== Common API ===
    2424
    25 New OGRwkbGeometryType values are needed. SFSQL 1.2 and ISO SQL/MM Part 3 will be used, i.e., 2D type + 2000 for M and  2D type + 3000 for ZM. (Also types such as Tin and !PolyhedralSurface types can be added for completeness, even if unimplemented currently)
     25New OGRwkbGeometryType values are needed. SFSQL 1.2 and ISO SQL/MM Part 3 will be used, i.e., 2D type + 2000 for M and  2D type + 3000 for ZM. (Also types such as Tin, !PolyhedralSurface and Triangle types can be added for completeness, even if unimplemented currently). wkbCurve and wkbSurface have been moved from #define to the OGRwkbGeometryType enumerations, and their Z/M/ZM variants have been added as well (per #6401)
    2626
    2727On a more general note, there could (should?) be a path to using a clean set of values and have legacy support as an exception.
     
    3131{{{
    3232// additions to enum OGRwkbGeometryType
     33    wkbCurve = 13,          /**< Curve (abstract type). ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     34    wkbSurface = 14,        /**< Surface (abstract type). ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    3335    wkbPolyhedralSurface = 15,/**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    3436    wkbTIN = 16,              /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    35 
     37    wkbTriangle = 17,         /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     38
     39    wkbCurveZ = 1013,           /**< wkbCurve with Z component. ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     40    wkbSurfaceZ = 1014,         /**< wkbSurface with Z component. ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    3641    wkbPolyhedralSurfaceZ = 1015,  /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    3742    wkbTINZ = 1016,                /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     43    wkbTriangleZ = 1017,           /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    3844
    3945    wkbPointM = 2001,              /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     
    4955    wkbMultiCurveM = 2011,         /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    5056    wkbMultiSurfaceM = 2012,       /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     57    wkbCurveM = 2013,              /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     58    wkbSurfaceM = 2014,            /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    5159    wkbPolyhedralSurfaceM = 2015,  /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    5260    wkbTINM = 2016,                /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     61    wkbTriangleM = 2017,           /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    5362
    5463    wkbPointZM = 3001,              /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     
    6473    wkbMultiCurveZM = 3011,         /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    6574    wkbMultiSurfaceZM = 3012,       /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     75    wkbCurveZM = 3013,              /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     76    wkbSurfaceZM = 3014,            /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    6677    wkbPolyhedralSurfaceZM = 3015,  /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    6778    wkbTINZM = 3016,                /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    68 
    69 
    70 // define new abstract types (why? what's the difference to the enum values? - at least they do not need to be handled in switches)
    71 #define wkbCurveZ           ((OGRwkbGeometryType)1013)      /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    72 #define wkbSurfaceZ         ((OGRwkbGeometryType)1014)      /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    73 #define wkbCurveM           ((OGRwkbGeometryType)2013)      /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    74 #define wkbSurfaceM         ((OGRwkbGeometryType)2014)      /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    75 #define wkbCurveZM          ((OGRwkbGeometryType)3013)      /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    76 #define wkbSurfaceZM        ((OGRwkbGeometryType)3014)      /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
     79    wkbTriangleZM = 3017,           /**< ISO SQL/MM Part 3. GDAL &gt;= 2.1 */
    7780
    7881// add tests for M