Hi,
I am not sure but perhaps you could fool Oracle by inserting the point geometry
of the polygon into the SDO_POINT array of SDO_GEOMETRY. Oracle documentation
says that if SDO_ELEM_INFO and SDO_ORDINATES arrays are not both null then
SDO_POINT will be skipped. However, it would be so nice trick if that works
that I suggest to make a try.
http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_objrelschema.htm
-Jukka-
________________________________
Martin Davis wrote:
Because I was hoping that GeoServer would make use of the GEOMETRY column in
the spatial filter. I tried NOT including it first of all, and that didn't
work, since the filter was applied on the PT field, causing the no-index error.
Unfortunately, GeoServer is too smart - if the SLD is based on the PT column
then it uses that column in the spatial filter!
On Tue, Mar 10, 2015 at 11:29 AM, Rahkonen Jukka (MML)
<jukka.rahko...@maanmittauslaitos.fi<mailto:jukka.rahko...@maanmittauslaitos.fi>>
wrote:
Hi,
Why do you select geometry and centroid into SQL view if you are only
interested in the centroid?
"select GEOMETRY, SDO_GEOM.SDO_CENTROID(GEOMETRY, 1) PT from CUT_BLOCK_SP "
-Jukka Rahkonen-
________________________________
Martin Davis wrote:
> We're working on tuning a GeoServer implementation over an Oracle SDO
> database. We think we are seeing that the network latency of queries is the
> hotspot in the performance of GeoServer render requests.
> It seems that for some situations one way to reduce the data being pushed
> over the wire is to reduce the data size in the database query. In
> particular, for some datasets of polygons we're happy just to see points
> representing the polygons. So we tried using a SQLView with a statement like:
select GEOMETRY, SDO_GEOM.SDO_CENTROID(GEOMETRY, 1) PT from CUT_BLOCK_SP
and then used an SLD <Geometry> selector to render just the point.
However, this doesn't work because we get the dreaded ORA-13226: interface not
supported without a spatial index error. This is because GeoServer is actually
emitting the query
SELECT PT as PT FROM (select GEOMETRY, SDO_GEOM.SDO_CENTROID(GEOMETRY, 1) PT
from CUT_BLOCK_SP t) VTABLE WHERE SDO_FILTER(PT, ?, 'mask=anyinteract
querytype=WINDOW') = 'TRUE'
and there is no index defined on the PT column.
Now, this would work if GeoServer could emit the query:
SELECT PT as PT FROM (select SDO_GEOM.SDO_CENTROID(GEOMETRY, 1) PT from
CUT_BLOCK_SP t) VTABLE WHERE SDO_FILTER(GEOMETRY, ?, 'mask=anyinteract
querytype=WINDOW') = 'TRUE'
Is there any way to get this to happen?
Or does anyone have other ideas about how to reduce query data size on Oracle?
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users