Multiple Geometries in database checking

I loaded a Geodatabase with FME into Postgis recently. The data were polygons.

After loading I noticed it was taking a long time for the connection to be made, there were a lot of errors which isn’t that unusual due to some of the data originally coming from CAD and doesn’t meet OGC requirements.

That was not all though, there was something else going on with these data. I ran check geometry and ST_IsValid which told me that there were a whole lot of Ring Self-Intersection errors as expected.

Here was the interesting part:

Using this query:

SELECT ST_GeometryType(geom) as geomtype 
FROM public."MyTable"
group by geomtype

I found that the database had stored 4 kinds of geometry:

“ST_CurvePolygon”
“ST_MultiPolygon”
“ST_MultiSurface”
“ST_Polygon”

This was surprising because the source was a File Geodatabase and should only have one type of geometry, which should store as ST_MultiPolygon.

I am not sure if FME recreated these geometries or if the File Geodatabase itself was a geometry collection.

Additionally, using the Database Manager tool in Qgis, the table would not load as there were too many errors, that I think were QGIS enforcing the single geometry datatype.



Leave a Reply

Your email address will not be published. Required fields are marked *