Skip to main content
Question

update with Oracle writer based on equal geometry


jelle
Contributor
Forum|alt.badge.img+16
  • Contributor

Hi All,

during the process, I use the Matcher to split up the features that have identical geometry. For this set of features, all kinds of attributes can have changed (in other words, there is no fixed ID). Hence, I would like to use the Update Operation of the Oracle writer. I cannot use the 'Match Columns', since they all might have different values,even though the geometry is equal. Is there any way to have a WHERE clause I could use? I see SDO_EQUAL, but what are the arguments for the geometry already in FME and the one in Oracle, so both can be compared? Would that be slow?

I could use a delete statement and then an insert, using FeatureWriters, so I am in control of the order of execution. I was just wondering whether it would be possible to make it work like described above.

 

regards,

Jelle

4 replies

itay
Supporter
Forum|alt.badge.img+17
  • Supporter
  • March 17, 2017

Well since all attributes have changed I cant think of a way to do it without some intermediate result, which makes it more complicated then just deleteing and inserting.


jelle
Contributor
Forum|alt.badge.img+16
  • Author
  • Contributor
  • March 17, 2017
itay wrote:

Well since all attributes have changed I cant think of a way to do it without some intermediate result, which makes it more complicated then just deleteing and inserting.

they MIGHT have changed.

 

Since I know the old and the new version of the attribute value, I can base the delete statement on the old one and the insert on the new one.

 

 


erik_jan
Contributor
Forum|alt.badge.img+18
  • Contributor
  • March 17, 2017

How about this:

Read both datasets and do a SpatialRelator transformer (match EQUAL) So the original ID is on the "new" features.

Then you can update the database based on the original ID..


jelle
Contributor
Forum|alt.badge.img+16
  • Author
  • Contributor
  • March 19, 2017
erik_jan wrote:

How about this:

Read both datasets and do a SpatialRelator transformer (match EQUAL) So the original ID is on the "new" features.

Then you can update the database based on the original ID..

that is exactly what I did ;-)

Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings