Opened 13 years ago
Closed 13 years ago
#807 closed defect (fixed)
SHP Provider: Multi-polygon geometry type is not exposed via GetGeometryComponentTypes()
Reported by: | danstoica | Owned by: | gregboone |
---|---|---|---|
Priority: | major | Milestone: | 3.7.0 |
Component: | FDO API | Version: | 3.7.0 |
Severity: | 3 | Keywords: | |
Cc: | External ID: |
Description
This is a legacy defect in ShpLpClassDefinition::ConvertPhysicalToLogicalGeometryProperty(), line #753:
case ePolygonShape:
geomTypesDest[0] = FdoGeometryType_Polygon; geomTypeCount=1;
It should read instead:
case ePolygonShape:
geomTypesDest[0] = FdoGeometryType_Polygon; geomTypesDest[1] = FdoGeometryType_MultiPolygon; geomTypeCount=2;
(the same for other types of polygons)
The rationale is that in fact SHP provider allows both Polygon and multi-Polygon features in the same file. Thus ShpGeometryCapabilities::GetGeometryComponentTypes() should return both Polygon and Multipolygon types, similar to the LineString.