11-15-2016 12:07 AM
We made some tests regarding spatial filtering of Post GIS data. GeoMedia help says the following:
Spatial filtering is done in two passes. The first pass is a coarse filter that operates as a query on the server using the spatial index created on the table’s native geometry columns.
The results from the first pass filter is passed to the client and processed locally. This second pass filter provides the final result.
I now made a new feature class in GeoMedia and digitized some features. Spatial filtering works fine. In the database I cannot see any spatial index or something related. How does it work exactly?
I also got an external database with spatial indexes, but there spatial filtering is not working. What are the exact prerequisites that spatial filtering works with GeoMedia (Index, Metadata...)?
11-15-2016 02:59 AM
PostGIS provides a set of spatial functions to perform spatial operation like intersection, overlap and so on. GeoMedia uses these spatial functions when composing SQL query to database to get the initial coarse filter. These functions work regardless a spatial index is present for that table or not. So if it works without index and does not work with index, then it is probably something wrong with the index.
You can try recreating the index, or - as it is in the PostGIS documentation - it might be necessary to force Postgres to collect table statistics using VACUUM ANALYZE command.