Skip to content

Commit

Permalink
Until we have support for TIN types, the multi type of Triangle
Browse files Browse the repository at this point in the history
geometries should be multipolygon

Refs #36638
  • Loading branch information
nyalldawson committed Jun 10, 2020
1 parent e0c03f9 commit d81f498
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/core/geometry/qgswkbtypes.h
Expand Up @@ -303,11 +303,20 @@ class CORE_EXPORT QgsWkbTypes
switch ( type )
{
case Unknown:
return Unknown;

// until we support TIN types, use multipolygon
case Triangle:
return MultiPolygon;

case TriangleZ:
return MultiPolygonZ;

case TriangleM:
return MultiPolygonM;

case TriangleZM:
return Unknown;
return MultiPolygonZM;

case GeometryCollection:
return GeometryCollection;
Expand Down
5 changes: 5 additions & 0 deletions tests/src/python/test_qgsgeometry.py
Expand Up @@ -2911,6 +2911,11 @@ def testWkbTypes(self):
self.assertEqual(QgsWkbTypes.multiType(QgsWkbTypes.MultiPoint25D), QgsWkbTypes.MultiPoint25D)
self.assertEqual(QgsWkbTypes.multiType(QgsWkbTypes.MultiLineString25D), QgsWkbTypes.MultiLineString25D)
self.assertEqual(QgsWkbTypes.multiType(QgsWkbTypes.MultiPolygon25D), QgsWkbTypes.MultiPolygon25D)
# until we have tin types, these should return multipolygons
self.assertEqual(QgsWkbTypes.multiType(QgsWkbTypes.Triangle), QgsWkbTypes.MultiPolygon)
self.assertEqual(QgsWkbTypes.multiType(QgsWkbTypes.TriangleZ), QgsWkbTypes.MultiPolygonZ)
self.assertEqual(QgsWkbTypes.multiType(QgsWkbTypes.TriangleM), QgsWkbTypes.MultiPolygonM)
self.assertEqual(QgsWkbTypes.multiType(QgsWkbTypes.TriangleZM), QgsWkbTypes.MultiPolygonZM)

# test curveType method
self.assertEqual(QgsWkbTypes.curveType(QgsWkbTypes.Unknown), QgsWkbTypes.Unknown)
Expand Down

0 comments on commit d81f498

Please sign in to comment.