Skip to main content
Solved

Does the FeatureReader Spatial Filter work on Oracle SDE data?

  • December 19, 2017
  • 4 replies
  • 23 views

Forum|alt.badge.img

I'm not sure how the FeatureReader is working when using the spatial filter on Oracle SDE data. I see the following entry in my log file:

Notice - reader format `GEODATABASE_SDE' does not support querying by spatial predicate, but supports envelope queries. FME will create equivalent results by performing spatial predicate calculations locally

Best answer by steveatsafe

@jlindahl Looks like on the FeatureReader set the Spatial Filter to "Envelope Intersects" and ensure the initiator features is an MBR feature. BoundingBoxReplacer would get you the MBR of a feature and this could be passed to the FeatureReader.

View original
Did this help you find an answer to your question?

4 replies

erik_jan
Contributor
Forum|alt.badge.img+17
  • Contributor
  • December 19, 2017

If you have the geometries stored as SDO_GEOMETRY type, you could use the Oracle Spatial reader instead of the ESRI geodatabase reader.

The Oracle Spatial reader supports spatial filters if the table is indexed spatially.


Forum|alt.badge.img
  • Author
  • December 19, 2017

So does this mean that the spatial filter in the FeatureReader does not work for Oracle SDE then? We don't have Oracle Spatial.


steveatsafe
Safer
Forum|alt.badge.img+12
  • Safer
  • December 19, 2017

If you add the SDE Geodatabase Reader you'll see it has the "Use Search Envelope" option but nothing else.

As erik_jan eludes to do you could use his approach if your geometry is stored in SDO_GEOMETRY (native Oracle geometry)

There also looks like another way that you might be able to do this with the SDE Geodatabase Reader (in the FeatureReader as well) using the WHERE clause and you could pass an SDO_FILTER or SDO_RELATE spatial query to the Geodatabase. But your geometry must be stored in SDO_GEOMETRY in the database and you'll be faced with creating the interacting geometry in this where clause - which could be involved.

See the last section on this page: http://desktop.arcgis.com/en/arcmap/latest/manage-data/gdbs-in-oracle/sdogeometry-feature-classes.htm

I suspect you will have better luck in both cases by creating an MBR of the interacting feature and passing this to the Reader using just the four values representing Lower Right and Upper Left coordinates of the search envelope.


steveatsafe
Safer
Forum|alt.badge.img+12
  • Safer
  • Best Answer
  • December 19, 2017

@jlindahl Looks like on the FeatureReader set the Spatial Filter to "Envelope Intersects" and ensure the initiator features is an MBR feature. BoundingBoxReplacer would get you the MBR of a feature and this could be passed to the FeatureReader.


Reply


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