Skip to main content
Question

FeatureJoiner GeometryHandling

  • March 26, 2018
  • 12 replies
  • 120 views

gpt_geoinfo
Contributor
Forum|alt.badge.img+2

Hi FME-Community!

I got following situation withe FeatureJoiner:

 

Left-Income: point-geometry with some attributes

 

Right-Income: polygon-geometry with some attributes

 

Attribute Conflict Resolution: Use Left

 

Geometry Handling: Use Right

The goal is to get the attributes of the left income. Everything runs fine and looks good. But as soo as we want to write to Oracle we fail. When taking a closer look to the Joined-Output features the polgons have fme_geometry=fme_point. Is this an effect of "Attribute Conflict Resolution: Use Left" with "Geometry Handling: Use Right"?!

Moreover, if we reset fme-geometry to polygon (GeometryCoercer or GeometryValidator) we still cannot write to Oracle.

 

If needed I can prepare a workspace for that.

Thanks in advance!

 

Maria
This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

12 replies

takashi
Celebrity
  • 7843 replies
  • March 26, 2018

Hi @gpt_executer, I was able to reproduce the same symptom as yours and found the GeometryRefiner will repair "fme_geomarty" and "fme_type" appropriately according to the actual geometry type.

I'd recommend you to report the bug to Safe support. I have reported another bug on the FeatureJoiner, so I wait for a hot fix or 2018.1...


lars_de_vries
Forum|alt.badge.img+10

Another solution that'll probably work is to use a AttributeKeeper and to keep all visible attributes.

 

At least this works in esri2esri (shape or geodatabase) transformations where the geometry is changed, but the fme_geometry / fme_type are not.

gpt_geoinfo
Contributor
Forum|alt.badge.img+2
  • Author
  • Contributor
  • 45 replies
  • March 26, 2018

Hi @takashi, unfortunatly that doesn't help.

The OracleSpatial-Writer gives back these errors.

 

We even tried to use the FeatureMerger instead, but withe the same result.

 

Without the FeatureJoiner (or FeatureMerger) the geometries can be written to Oracle properly.

gpt_geoinfo
Contributor
Forum|alt.badge.img+2
  • Author
  • Contributor
  • 45 replies
  • March 26, 2018

Another solution that'll probably work is to use a AttributeKeeper and to keep all visible attributes.

 

At least this works in esri2esri (shape or geodatabase) transformations where the geometry is changed, but the fme_geometry / fme_type are not.
I'll try that.

 

 


fmelizard
Safer
Forum|alt.badge.img+20
  • Safer
  • 3719 replies
  • March 26, 2018
Looks like you found a good one here. The team is on it.

 

 


fmelizard
Safer
Forum|alt.badge.img+20
  • Safer
  • 3719 replies
  • March 26, 2018
Looks like you found a good one here. The team is on it.

 

 

It might help if you could send us in a small sample & your workspace as well to support@safe.com

 

 


lars_de_vries
Forum|alt.badge.img+10

You could also consider to use a GeometryRemover for the features that enter the Left port in the FeatureJoiner. It should also remove the fme_type and fme_geometry and use the geometry properties of the features entering through the Right port.


fmelizard
Safer
Forum|alt.badge.img+20
  • Safer
  • 3719 replies
  • March 27, 2018

Hi @gpt_executer, thank you for bringing this to our attention. I have filed a problem report on your behalf and attached this Community post to it. I was able to reproduce the point and polygon confusion when using different tables for the attribute conflict resolution and the geometry handling.

However, when I write to Oracle, I don't seem to get any issues. Are you able to send your reproduction workspace over? Either on here or through a support ticket (please reference this Q&A; post). Please include a sample of the data that is failing to write. We'd be very interested to see how the features you're trying to write behave when sent to the Oracle Writer.

Thank you once again for bringing this to our attention. I'm sorry that you've encountered this issue with the FeatureJoiner.


fmelizard
Safer
Forum|alt.badge.img+20
  • Safer
  • 3719 replies
  • March 27, 2018

Hi @takashi, unfortunatly that doesn't help.

The OracleSpatial-Writer gives back these errors.

 

We even tried to use the FeatureMerger instead, but withe the same result.

 

Without the FeatureJoiner (or FeatureMerger) the geometries can be written to Oracle properly.
Hi @gpt_executer, what parameters do you have set in the FeatureMerger?

 


I've had the same problem joining data from a non-spatial Oracle source.

screenshot-featurejoiner-oracle-writer-build18284.png


fmelizard
Safer
Forum|alt.badge.img+20
  • Safer
  • 3719 replies
  • April 16, 2018

Hi @gpt_executer, thank you for bringing this to our attention. I have filed a problem report on your behalf and attached this Community post to it. I was able to reproduce the point and polygon confusion when using different tables for the attribute conflict resolution and the geometry handling.

However, when I write to Oracle, I don't seem to get any issues. Are you able to send your reproduction workspace over? Either on here or through a support ticket (please reference this Q&A; post). Please include a sample of the data that is failing to write. We'd be very interested to see how the features you're trying to write behave when sent to the Oracle Writer.

Thank you once again for bringing this to our attention. I'm sorry that you've encountered this issue with the FeatureJoiner.

Hi @gpt_executer, I am pleased to let you know that the aforementioned problem report has been resolved. You'll find the fix in our latest betas (build 18453). You can download the beta here.

erik_jan
Contributor
Forum|alt.badge.img+22
  • Contributor
  • 2179 replies
  • April 16, 2018

Have you tried removing the "oracle_" attributes before writing (BulkAttributeRemover with attributes to remove oracle*).

It seems like the oracle attributes still indicate the object to be a point and writing to Oracle will use those attributes and not the fme_geometry and fme_type if they exist..