[Mapserver-DE] ODBS Punktdaten räumlich filtern

Becker, Gunter gunter.becker at csogis.de
Fre Jan 13 10:21:22 CET 2006


Hallo,

 

ich verwende gewöhnlich relationale Datenbanktabellen zur Darstellung von Punktdaten (POINT-, ANNOTATION-Layer).

Dies geschieht via OGR. Um nicht alle Datensätze abfragen zu müssen mache ich eine räumliche Abfrage. Dazu

habe ich bisher immer die URL ausgelesen (BBOX-Attribut im WMS-Aufruf) und in mein SQL Query

eingebaut:

 

LAYER 

    NAME        Schulen

    GROUP     Oeffentliche_Einrichtungen

    STATUS       ON

    CONNECTIONTYPE OGR

    CONNECTION "<OGRVRTDataSource>

                                   <OGRVRTLayer name='objekte'>

                                       <SrcDataSource>ODBC:MapServer/MapServer at ds_nl</SrcDataSource> 

                                               <SrcSQL>SELECT rechtswert, hochwert FROM map_objekte 

                                                           WHERE layer='Schulen' 

                                                           AND rechtswert BETWEEN SUBSTRING('%BBOX%', 0 ,11) AND SUBSTRING('%BBOX%', 25 ,11)

                                                           AND hochwert BETWEEN SUBSTRING('%BBOX%', 13 ,11) AND SUBSTRING('%BBOX%', 37 ,11)</SrcSQL>

                                               <GeometryType>wkbPoint</GeometryType>

                                   <GeometryField encoding='PointFromColumns' x='rechtswert' y='hochwert'/> 

                                   </OGRVRTLayer>

                        </OGRVRTDataSource>"

    DATA         "OBJEKTE"

    TYPE         POINT

 

Bislang habe ich ausschließlich mit Gauss-Krüger-Daten gearbeitet und daher hatte ich kein Probleme, da mein WMS-Aufruf

auch über Gauss-Krüger erfolgte.

 

Jetzt habe ich allerdings lat/lon-Koordinaten in meiner DB-Tabelle und möchte diese aber trotzdem über

Gauss-Krüger abfragen. Daher entfällt die räumliche Abfrage wie ich sie bislang gemacht habe. Da die DB-Tabelle sehr groß ist

muss ich allerdings eine räumliche Abfrage machen, da sonst der GetMap-Request viel zu viel Zeit benötigt (mehrer Sekunden).

 

Hat jemand eine Antwort für mich parat ob sich das mit OGR oder sonst wie machen lässt? 

Oder muss ich die Daten doch erst nach Gauss-Krüger konvertieren (z.B. mit ogr2ogr in ein Shape-File mit GK-Koordinaten)?

 

 

Mit freundlichen Grüßen,

 

Gunter Becker 
_________________________________________________________________
CSO GmbH 
Informations-Lösungen 
Forsthausstrasse 2 
75180 Pforzheim 
Fon     +49 (0) 72 31 . 97 35 62 (direkt)
Fon     +49 (0) 72 31 . 97 35 10 (Zentrale)
Fax      +49 (0) 72 31 . 97 35 90 

eMail  gunter.becker at csogis.de 
web    www.csogis.de 
_________________________________________________________________

 

Aufpoliert!
Inzwischen war er in die Jahre gekommen: Der Web-Auftritt von CSO. 
Jetzt wurde er konzeptionell neugestaltet. Bitte besuchen Sie uns unter
www.csogis.de <http://www.csogis.de/> 
_________________________________________________________________

 

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://www.intevation.de/pipermail/mapserver-de/attachments/20060113/fd8ccdd8/attachment.html


This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)