[mapserver-users] Best Practices for the Spatial Index with OracleDB 11gR2
Smith, Michael ERDC-CRREL-NH
michael.smith at usace.army.mil
Wed Oct 27 05:43:35 PDT 2010
You can disable the spatial filtering (which is what requires the spatial
index) by using
DATA "the_geom from (SELECT SDO_GEOM.SDO_CENTROID(geometrie, 2) AS
the_geom, id FROM ereignis) USING SRID 31468 NONE"
Mike
On 10/27/10 8:14 AM, "Rahkonen Jukka" <Jukka.Rahkonen at mmmtike.fi> wrote:
> Hi,
>
> I made a little test and I believe it is just impossible. Oracle cannot do
> spatial query for the transformed geometries (centroids) returned by the first
> SELECT. It cannot find where the centroids are because they are not indexed
> and the index of the primary table does not help. You can for sure use
> centroids by pushing them into a new table or column and creating spatial
> index. There may be some SQL/Oracle trick to do it in some other way, PL/SQL
> people are doing amazing things but I am not aware of any.
>
> This is the query I used for testing and Oracle messages. I am not at all
> sure if this query is OK, but it may be.
>
> SQL> select the_geom from (SELECT SDO_GEOM.SDO_CENTROID(tt.geoloc, 2) AS
> the_geom, id
> from test_table tt)
> WHERE SDO_ANYINTERACT(the_geom, SDO_GEOMETRY(2003, 2393,
> NULL,SDO_ELEM_INFO_ARRAY(1,1003,3),SDO_ORDINATE_ARRAY(3289429,7024458,
> 3288529,7026558)))
> = 'TRUE';
>
> select the_geom from (SELECT SDO_GEOM.SDO_CENTROID(gp.geoloc, 2) AS the_geom,
> id from gis_polygon gp
> *
> VIRHE rivillä 1: # error on row 1:
> ORA-13226: interface not supported without a spatial index
> ORA-06512: at "MDSYS.MD", line 1723
> ORA-06512: at "MDSYS.MDERR", line 8
> ORA-06512: at "MDSYS.SDO_3GL", line 70
> ORA-06512: at "MDSYS.SDO_3GL", line 221
>
> -Jukka Rahkonen-
>
>
>> -----Alkuperäinen viesti-----
>> Lähettäjä: mapserver-users-bounces at lists.osgeo.org
>> [mailto:mapserver-users-bounces at lists.osgeo.org] Puolesta
>> Julian Wiersbitzki
>> Lähetetty: 27. lokakuuta 2010 12:52
>> Vastaanottaja: mapserver-users at lists.osgeo.org
>> Aihe: [mapserver-users] Best Practices for the Spatial Index
>> with OracleDB 11gR2
>>
>> Hi List!
>>
>> I am new here in this list and with mapserver, so please tell
>> me if my question is already a faq.
>>
>> We have mapserver 5.6.3 in use together with an Oracle DB
>> 11gR2 Standard Edtion. All works well so far and configuring
>> layer with the mapfile is no problem. But we have two layers
>> which use SDO-Function in the SELECT Statement, e.g.:
>>
>> DATA "the_geom from (SELECT
>> SDO_GEOM.SDO_CENTROID(geometrie, 2) AS the_geom, id FROM
>> ereignis) USING SRID 31468"
>> or
>> DATA "the_geom from (SELECT
>> SDO_AGGR_UNION(SDOAGGRTYPE(the_geom, 0.005)) AS the_geom,
>> bezirksinspektion AS label FROM stadtbezirk GROUP BY
>> bezirksinspektion) USING SRID 31468"
>>
>> If I want to fetch one of these layers the mapserver tells me
>> there is no spatial index. Normally we have spatial indexes
>> on all our tables with SDO_GEOMETRY columns, e.g.:
>>
>> INSERT INTO user_sdo_geom_metadata VALUES (
>> UPPER('ereignis'),
>> UPPER('geometrie'),
>> MDSYS.SDO_DIM_ARRAY(
>> MDSYS.SDO_DIM_ELEMENT('X',4452550.887,4479484.083,0.001),
>>
>> MDSYS.SDO_DIM_ELEMENT('Y',5324953.397000001,5345694.052999999,0.001)),
>> 31468);
>> CREATE INDEX ereignis_geom_idx ON ereignis(geometrie)
>> INDEXTYPE IS MDSYS.SPATIAL_INDEX;
>>
>> But how do I create a spatial index on SDO-functions in the
>> database? Can I even do that? The documentations only
>> describes spatial index on SDO_GEOMETRY columns, but not on
>> spatial functions.
>>
>> What are the best practices for this kind of layers?
>>
>> TIA, Julian
>>
>> ______________________________________________________________
>>
>> Hamburger Berater Team GmbH Handelsregister: HRB 31629
>> Stadthausbrücke 3 (Fleethof) Amtsgericht Hamburg
>> 20355 Hamburg Geschäftsführer:
>> Fon: 040/369779-43 Ilse Habermann
>> Fax: 040/369779-99 Hans-Joachim Habermann
>> Mail: mailto:jw at hbt.de Daniel Hoffmann
>> ______________________________________________________________
>>
>> Internet: http://www.hbt.de
>> http://www.geofox.de http://www.geonetwatch.de
>> ______________________________________________________________
>>
>> DIN EN ISO 9001:2000: DQS-Zertifikat Nr.5206 QM
>> Diese Email wurde mit ständig aktualisierten Virenscannern geprüft
>> ______________________________________________________________
>>
>> Diese Email einschließlich eventuell angehängter Dateien
>> enthält vertrauliche Informationen und ist ausschließlich
>> für den bezeichneten Adressaten bestimmt. Wenn Sie nicht
>> der richtige Adressat oder dessen Vertreter sind, verständigen
>> Sie bitte sofort den Absender und löschen Sie dann diese Email
>> und eventuell angehängte Dateien. Vielen Dank!
>> Beachten Sie: Jede Form der Nutzung, Vervielfältigung oder
>> Weitergabe des Inhalts fehlgeleiteter Emails ist unzulässig.
>> ______________________________________________________________
>>
>> This e-mail is intended only for the above addressee.
>> It may contain privileged information. If you are not the
>> addressee you must not copy, distribute, disclose or use any
>> of the information in it. If you have received it in error
>> please delete it and immediately notify the sender.
>> ______________________________________________________________
>> _______________________________________________
>> mapserver-users mailing list
>> mapserver-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
More information about the MapServer-users
mailing list