GeoMedia Discussions

Search for an answer, post a question, or answer other users' questions in our GeoMedia support discussions. This discussion board is a great way to collaborate with industry peers around the world. It is intended for discussion and support of the GeoMedia Desktop and Add-on applications.
Showing results for 
Search instead for 
Do you mean 
Reply
Highlighted
Contributor
Posts: 39
Registered: ‎01-11-2017

Spatial filter results in oracle spatial

Hi,

 

We have 2 layers in oracle spatial, a boundary layer and another containing lot polygons.

 

When I do the spatial filter in Geomedia using select set and change the spatial operator I get different results but not as expected.

 

If I use operator "Inside" I will get 178 records 

Inside

MDSYS.SDO_RELATE
Mask: INSIDE+COVEREDBY+EQUAL

and while using "Entirely inside" I will get 184 records

 

Entirely Inside

MDSYS.SDO_RELATE
Mask: INSIDE

 

To find out the missing records I exported the  data to a local file which showed me the missing records located much inside the boundary feature. (Pls checck the attached screenshot)

 

Is this expected? or is this a possible bug?

 

I am using GM Pro 16.5 Build 2614

 

Thank you

Highlighted
Staff
Posts: 137
Registered: ‎05-26-2016

Re: Spatial filter results in oracle spatial

I have seen similar results in past. Ended up being the oracle geometry. Oracle was very fussy about the geometry.

 

Use Oracle SQL SDO Validate_Geometry commands to check / fix invalid geometry.

Highlighted
Technical Evangelist
Posts: 165
Registered: ‎02-02-2016

Re: Spatial filter results in oracle spatial

GeoMedia is passing the spatial filter as a SQL statement to Oracle to process.  Oracle passes the results back so the issue is most likely comming from the data / database.  Have you spatially indexed your oracle data?
You may want to look at the GeoMedia Oracle Object Model (GOOM) Package which contains some nice easy to use spatial indexing tools.  It also has a Quick Start .pdf guide that gives good info even if you do not install the package.