Import .shp from Mapinfo - unsupported geometry type

Hi folks,

A colleague of mine created a polygon feature class using mapinfo which we wanted to bring into GPlates to reconstruct. The problem is that GPlates won’t read it! It says the geometry type is unsupported (see below). Any ideas what is going on here? I have never used mapinfo before.

Cheers,
Tom

Hi Tom,

It’s because the geometry is not a Point, LineString or Polygon (or Multi version of those). These are the types GPlates supports. Anything other than these just get ignored, but they don’t abort the loading of regular geometry types.

There are curve versions of the above linear geometries - see here. The problematic geometry might be one of these types. In future we’ll investigate accepting curve types - perhaps by turning them into tessellated linear versions.

Hi John,

Thanks for the insight. There are no curves in this feature class. I copied the geometries into QGIS and exported them from there and they worked, so I wonder if it might be something to do with the way MapInfo exports vector data. Perhaps it’s a precision issue?

Tom

Hi Tom,

That’s interesting, it sounds like you could export from QGIS (presumably after importing from MapInfo) and then load into GPlates. As far as GPlates is concerned it’s definitely the geometry type causing the issue. Maybe QGIS is also ignoring certain geometry types (when loading the MapInfo export).

Hi Tom and John,

I’m Tom’s colleague that was having the Mapinfo to GPlates shapefile issues. I’ve managed to resolve the issue using Mapinfo’s (now called Discover) secondary export tool called ‘universal translator’ to convert the .tab files to .shp. The primary .shp exporting function (via the Discover menu) produces a .shp format that is not readable by GPlates, though is by other GIS programmes.

Thanks for the assistance.

Alex

Hi Alex,

Thanks for this information. Feel free to PM me the Shapefile that didn’t load into GPlates - I’d be interested to see what geometry types it has.

Hi John,

I opened the problematic shapefile in geopandas and the geometry is recorded in three dimensions (long lat elev), although the elevation values are all zeros. The GPlates-compatible version only consists of (long lat). Could that be the issue?

Tom

Hi Tom,

Actually yes, I think that’s the issue.

In GPlates we normally flatten the geometry type to 2D. For example, if it has a Z value (like height), or an M value (which is a measure such as distance to something), or both, then flattening removes it (leaving only the positional x and y). However I just looked at the GPlates source code and can see that we’ve copied a definition (for flattening) from an old version of GDAL (it was a risky thing to do). And the definition has since changed in such a way that it is likely causing this issue.

I’ll send you both a new build to test…