Skip to main content

A workflow we use at work is as follows:

 

  1. Geometry data is stored in SQL Database (attached screenshot - SQL Geometry.png). It is a multi-part polygon and looks to be correct.
  2. I use a SQL Creator in an FME job to get the data from the SQL Database. We call a stored procedure to get this data but no transformations are performed in this GET.
  3. I use a Geometry Replacer in the FME job with the following settings:
    1. Geometry Encoding: Microsoft SQL Server Binary
    2. MS SQL Server Format: Geometry
  4. After this Geometry Replacer the shape looks correct in FME Inspector, but the Type looks incorrect (attached screenshot FME Data Inspector.png)
    1. The shape looks right
    2. It is classed at the top level as an IFMEMultiArea type of 1 part which is not right. It seems to have classed it as a shape with 1 part (a donut) with an outer boundary and 2 inner boundaries.

I'm pretty sure the data conversion into the SQL format is correct but I can't get access to that right now to double check.

Has anybody got any advice on how to debug this? How does FME determine the feature type? i.e. MultiArea/No. Parts etc.

 

Thanks

If you expand the geometry parts on the bottom right side of the Inspector, you should see the coordinates. You can then click on each coordinate to visualize the point on your geometry to see exactly what's going on.

You could also try to use a GeometryRefiner after the GeometryReplacer, to see if that makes a difference.


Reply