···
On Thu, Nov 19, 2015 at 6:32 AM, Martin Davis <mtnclimb@anonymised.com> wrote:
I think this is the same issue discussed in this (lengthy) thread:
http://osgeo-org.1560.x6.nabble.com/Reducing-query-data-size-in-Oracle-td5192620.html
TLDR: not possible right now, apparently requires clever development to make it work.
If there has been improvement on this front it would be great to know about it. Or would be great to have someone implement a workaround!
Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
–
On Wed, Nov 18, 2015 at 12:08 PM, cheesybiscuits <thomaschristian@anonymised.com.84…> wrote:
I’ve created a function within Oracle for on-the-fly clustering that I hoped
to query via GeoServer using an SQL view layer.
The function takes as its arguments the bounding box and the number of grid
cells to use in a basic gridded clustering process (i.e. find the centre of
mass for points within each grid cell). Please note I’ve tried the Point
Stacker extension and it isn’t adequate for my needs. Executing the
following query within Oracle gives the list of sdo_geometry objects that I
expect:
select * from table(package_name.function_name(-180, -90, 180, 90, 3);
My intention is to make WMS requests to GeoServer with the viewparams
parameter included that provides all required arguments. Because of the way
the function works the returned sdo_geometry objects will only ever be
within the provided bounding box.
I can successfully create an SQL view layer within GeoServer using this
syntax and everything seems OK while publishing. However when I access the
layer everything falls apart. GeoServer takes my query and wraps it as
follows:
SELECT GEOMETRY as GEOMETRY FROM (select * from
table(package_name.function_name(-180, -90, 180, 90, 3))) VTABLE WHERE
SDO_FILTER(GEOMETRY, ?, ‘mask=anyinteract querytype=WINDOW’) = ‘TRUE’
Oracle then errors because the function’s table return type doesn’t have a
spatial index to use with SDO_FILTER. Although I did find a somewhat
similar problem on GIS.SE
<http://gis.stackexchange.com/questions/92554/can-i-create-an-oracle-spatial-view-from-a-non-spatial-table>
the same solution does not apply as my function returns a table, not a
single object, and Oracle doesn’t permit indexes on named table types.
As things currently stand I don’t think I can make this work, and the only
thing that could potentially help is to prevent GeoServer from appending its
SDO_FILTER mask. However I’m guessing this just isn’t possible without
digging into the source and creating a custom build (totally not an option).
Can anyone tell me if there’s something I’ve missed here, or suggest a
different approach for solving the same problem? Any thoughts would be very
much appreciated.
–
View this message in context: http://osgeo-org.1560.x6.nabble.com/GeoServer-s-spatial-filter-preventing-SQL-view-layer-from-working-tp5237269.html
Sent from the GeoServer - User mailing list archive at Nabble.com.
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.