Solved

Tableau TDE Writer TDE does not support geometry on feature


Badge +7

I'm reading an ArcSDE polygon layer (British National Grid), running it through the Aggregator, then writing to a TDE. But I get a warning in the log "TDE does not support geometry on feature". I can't see much in the way of parameters to change to try and fix this. Any ideas? FME 2018.0.1.0 (20180518 - Build 18310 - WIN64)

icon

Best answer by tim_wood 5 July 2018, 17:39

View original

6 replies

Badge +10

There are some limitations on writing multipart geometries according to the documentation, perhaps this is one of them?

If the polygons contain height information you could already force them to 2D.

And maybe the Aggregator generates some overlapping polygons? In that case I could imagine to first use a Dissolver transformer and the Aggregator as a second step.

Badge +2

Hi @tim_wood, Did @lars_de_vries's suggestion of dissolving first make a difference? If not, it would be helpful to see more of the log file, which should tell us exactly what kind of geometry is being rejected. Can you please attach the log file?

Badge +7

Hi @tim_wood, Did @lars_de_vries's suggestion of dissolving first make a difference? If not, it would be helpful to see more of the log file, which should tell us exactly what kind of geometry is being rejected. Can you please attach the log file?

Hi @XiaomengAtSafe and @lars_de_vries

 

I don't think the polygons contain height info (Z values is not ticked in ArcSDE properties). Nor should they overlap - they are Ward boundaries.

 

 

I can write the data to a TDE if I remove the Aggregator from the translation, but really I want it in there to create multi-part features for a few Wards that have "detached" areas, like the example below. After reading the data, I use AttributeManager to remove " (DET)" from the Ward name, then aggregate on Ward name and the unique ID for each Ward (although perhaps only unique ID is necessary). Mode is "Geometry - Assemble One Level" and I've tried both Aggregate Types: "Heterogeneous Collection" and "Homogenous Collection (If Possible)".

 

 

I added a Dissolver between the AttributeManager and the Aggegrator. 7364 features are read in, 2796 come out of the Area port on the Dissolver, and 7341 come out of the Remnants port. I sent just the 2796 to the Aggregator at the moment but that only outputs 61 features. I've inspected these and something is not right because one of the Scottish Wards now covers most of the UK!

 

 

I've added a GeometryValidator with all test and nothing fails or is repaired.

 

 

I've checked the logs and the rejected features have null geometry.

 

 

 

Badge +7

Hi @tim_wood, Did @lars_de_vries's suggestion of dissolving first make a difference? If not, it would be helpful to see more of the log file, which should tell us exactly what kind of geometry is being rejected. Can you please attach the log file?

boundaries-to-tde-fme-forum.zip

 

@XiaomengAtSafe I've attached the log file. I'm not expecting there to be any features without geometry so I'm not sure what's going on.

 

Badge +7

@XiaomengAtSafe @lars_de_vries @DanAtSafe

I think I've cracked it (with Dan's help from the past). I was looking at the data in Inspector and noticed some features had quite complex geometries - lots of sets of coordinates. Something made me think of a problem I had a while back using the File Geodatabase API Writer vs the ESRI FGDB Writer. That too was in a Workspace using the Aggregator. Dan Iseminger had a look a the Workspace and found the problem was nested aggregates. I haven't needed to implement the fix for that problem as there wasn't a big issue getting a floating ArcGIS licence to use ESRI FGDB Writer.

However, I've applied the fix to this problem and it appears to work. So the issue here also seems to be nested aggregates. I think some of the Wards in places like Scotland are already aggregates (multi-part features in ESRI speak) when I read them in. The Aggregator must then aggregate them again, creating a nested aggregate which upset the TDE Writer. Dan's fix is to filter the aggregates first and de-aggregate them, then re-aggregate the data again.

What's confusing about the source data is that there are 2 separate features for Bisley Ward ("Bisley" and "Bisley (DET)" i.e. detached), but Lerwick North Ward in Scotland (made up of a least 7 of the Shetland islands) is a multi-part feature. I guess the difference is that there are other Wards in between the 2 parts of Bisley Ward, and not between the parts of Lerwick North Ward (just the sea!).

(The AttributeManager just renames some fields and removes " (DET)" from the name of the detached parts of Wards).

Badge +2

@XiaomengAtSafe @lars_de_vries @DanAtSafe

I think I've cracked it (with Dan's help from the past). I was looking at the data in Inspector and noticed some features had quite complex geometries - lots of sets of coordinates. Something made me think of a problem I had a while back using the File Geodatabase API Writer vs the ESRI FGDB Writer. That too was in a Workspace using the Aggregator. Dan Iseminger had a look a the Workspace and found the problem was nested aggregates. I haven't needed to implement the fix for that problem as there wasn't a big issue getting a floating ArcGIS licence to use ESRI FGDB Writer.

However, I've applied the fix to this problem and it appears to work. So the issue here also seems to be nested aggregates. I think some of the Wards in places like Scotland are already aggregates (multi-part features in ESRI speak) when I read them in. The Aggregator must then aggregate them again, creating a nested aggregate which upset the TDE Writer. Dan's fix is to filter the aggregates first and de-aggregate them, then re-aggregate the data again.

What's confusing about the source data is that there are 2 separate features for Bisley Ward ("Bisley" and "Bisley (DET)" i.e. detached), but Lerwick North Ward in Scotland (made up of a least 7 of the Shetland islands) is a multi-part feature. I guess the difference is that there are other Wards in between the 2 parts of Bisley Ward, and not between the parts of Lerwick North Ward (just the sea!).

(The AttributeManager just renames some fields and removes " (DET)" from the name of the detached parts of Wards).

Great to see that you've found the problem and fixed it, @tim_wood. We'll look into improving the log to give more clue on what types of geometry caused the rejection.

 

Reply