Skip to main content

I have set up a dynamic workbech with the follwoing setup. Its from SQL Server to geopackage. 
It has been working fine daily for months until today when i noticed one record was missing geometry (geometry was null in the target geopackage databse). 

Why does this single record fail to write? 

Checking the geometry types in the source database (STGeometryType ( ) ) for the feature type they are

  • GeometryCollection
  • LineString

I dont understand why it is failing when I am using a dynamic workflow in the first place?

Where should i start to look for errors, is there anything i can do? 

I have been poking around for a long time to try to make sense of it. One thing i have found is if i look at the feature with the Feature information window there is a “fme_geometry” attribute with a value of fme_aggregate. The attribute fme_type is of fme_collection.
The failing feature is the only one whch is a fme_aggregate, so i am assuming that has something to do with the problem? But why would it be an issue here?

How can i filter objekts with a type of fme_aggregate? I tried to use the attribute exposer and manually type in fme_geometry, but it is not exposing the attribute. So i am a bit at loss here. 
Any advice would be much appreciated

 

 

 

 

 

Every platform and format has its own interpretation of what a valid geometry is. One geometry may be valid in MS/SQL, but invalid in a geopackage, and vice-versa.

You can use transformers GeometryFilter and GeometryValidator to catch and fix any issues regarding the geometries.

Especially aggregate types such as GeometryCollection may give some problems, but it’s most likely a validation issues.

Hope this helps.


Some writer or target-databases use an explicit definition of the geometry typ to save the attributes AND the goemetry. for example GeoPackage differs between LineString (single geometry) and MultiLineString (aggregated).

therefore you have to deaggregate the “fme_aggregate” first, witch will get 2 or more single geometries. in your case single LineStrings. these can then stored in the GeoPackage. 


Reply