Changes between Version 41 and Version 42 of rfc61_support_for_measured_geometries
- Timestamp:
- Mar 8, 2016, 2:03:43 AM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
rfc61_support_for_measured_geometries
v41 v42 23 23 === Common API === 24 24 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)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, !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) 26 26 27 27 On a more general note, there could (should?) be a path to using a clean set of values and have legacy support as an exception. … … 31 31 {{{ 32 32 // additions to enum OGRwkbGeometryType 33 wkbCurve = 13, /**< Curve (abstract type). ISO SQL/MM Part 3. GDAL >= 2.1 */ 34 wkbSurface = 14, /**< Surface (abstract type). ISO SQL/MM Part 3. GDAL >= 2.1 */ 33 35 wkbPolyhedralSurface = 15,/**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 34 36 wkbTIN = 16, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 35 37 wkbTriangle = 17, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 38 39 wkbCurveZ = 1013, /**< wkbCurve with Z component. ISO SQL/MM Part 3. GDAL >= 2.1 */ 40 wkbSurfaceZ = 1014, /**< wkbSurface with Z component. ISO SQL/MM Part 3. GDAL >= 2.1 */ 36 41 wkbPolyhedralSurfaceZ = 1015, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 37 42 wkbTINZ = 1016, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 43 wkbTriangleZ = 1017, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 38 44 39 45 wkbPointM = 2001, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ … … 49 55 wkbMultiCurveM = 2011, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 50 56 wkbMultiSurfaceM = 2012, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 57 wkbCurveM = 2013, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 58 wkbSurfaceM = 2014, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 51 59 wkbPolyhedralSurfaceM = 2015, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 52 60 wkbTINM = 2016, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 61 wkbTriangleM = 2017, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 53 62 54 63 wkbPointZM = 3001, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ … … 64 73 wkbMultiCurveZM = 3011, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 65 74 wkbMultiSurfaceZM = 3012, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 75 wkbCurveZM = 3013, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 76 wkbSurfaceZM = 3014, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 66 77 wkbPolyhedralSurfaceZM = 3015, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 67 78 wkbTINZM = 3016, /**< ISO SQL/MM Part 3. GDAL >= 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 >= 2.1 */ 72 #define wkbSurfaceZ ((OGRwkbGeometryType)1014) /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 73 #define wkbCurveM ((OGRwkbGeometryType)2013) /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 74 #define wkbSurfaceM ((OGRwkbGeometryType)2014) /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 75 #define wkbCurveZM ((OGRwkbGeometryType)3013) /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 76 #define wkbSurfaceZM ((OGRwkbGeometryType)3014) /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 79 wkbTriangleZM = 3017, /**< ISO SQL/MM Part 3. GDAL >= 2.1 */ 77 80 78 81 // add tests for M