Hi Chris,
A polygon with multiple outer rings is generally considered an invalid geometry . In most cases, it should be represented as a multipolygon instead.
I’m curious what data source you’re using. Some formats (like shapefiles or FileGeoDatabase) don’t explicitly mark rings as inner or outer, so the GIS engine has to infer that from the geometry.
If you directly read a WKT polygon that contains multiple outer rings, it would typically be treated as invalid and may have weird result (I think in your case all the rings except for the 1st one were considered as inner rings so not selectable). Tools like QGIS may automatically normalize this and convert it into a multipolygon behind the scenes.
ThinkGeo doesn’t automatically normalize these cases, but we do provide APIs to validate and fix geometries:
feature.IsGeometryValid(out TopologyValidationError);
feature.MakeGeometryValid();
Just note that MakeGeometryValid() may modify the geometry in ways you might not expect, so it’s best to review the result.
In general, we recommend ensuring the data is valid at the source. If this is coming from a custom format, try to avoid creating invalid polygons. Otherwise, let us know which format you’re using—there’s a chance it could be a bug on our side.
Also, we just fixed a related issue for FileGeoDatabase here:
Thanks,
Ben