[Mapserver-DE] Antw: Problem beim linearen Referenzieren via PostGIS

Ludwig Kniprath kniprath.l at wver.de
Mit Dez 13 08:40:15 CET 2006


Hallo Liste,
etwas Abstand zur Arbeit und man sieht die eigenen Fehler. Opfer des Copy/Paste-Syndroms...

Natürlich muss bei der Layer-Definition statt "using unique column name" der Name der eindeutigen Spalte (z. B. "using unique oid" ) genommen werden, und schon klappt's.

Gruß
Ludwig

>>> "Ludwig Kniprath" <kniprath.l at wver.de> 12.12.06 14:43 >>>
Hallo Liste, folgende Aufgabenstellung:
Karte der Gewässergüte mit unterschiedllichen farbigen Bereichen je nach ermittelter Güteklasse in einzelnen Gewässerabschnitten

gegeben:
- Layer Gewässer (PostGIS-Lininethema, LINSTRINGM)
- Tabelle Gewässergüte (Postgres-Tabelle, verknüpft zum Gewässerthema über eine eindeutige ID und Stationierungsangaben gg_stationierung_uw/gg_stationierung_ow zur Bereichseingrenzung)

Vorgehen:
1. Anlegen eines Views "view_gewaesserguete" (mit Public-Zugriffsrechten) in Postgres, der die Geometrie des Gewässers zwischen den Stationierungsangaben zurückliefert:
"SELECT locate_between_measures(gewaesser.the_geom_m, gewaesserguete.gg_stationierung_uw, gewaesserguete.gg_stationierung_ow) AS gewaessergueteabschnitt ..."

2. In der Map-Datei einen zugehörigen PostGIS-Layer definieren
LAYER
   NAME "Gewaesserguete"
   CONNECTIONTYPE postgis
   CONNECTION "user=max password=mustermann dbname=test_gis host=localhost port=5432"
   DATA "gewaessergueteabschnitt from view_gewaesserguete as foo using unique column name using SRID=31466#"
   ...
END

Problem:
( ! ) Warning: [MapServer Error]: prepare_database(): Error executing POSTGIS DECLARE (the actual query) statement: 'DECLARE mycursor BINARY CURSOR FOR SELECT asbinary(force_collection(force_2d(gewaessergueteabschnitt)),'NDR'),column::text from view_gewaesserguete WHERE gewaessergueteabschnitt && setSRID('BOX3D(2464351.07744 5583866.05258598,2583172.52304 5674940.36731402)'::BOX3D, 31466 )' Postgresql reports the error as 'ERROR: syntax error at or near "column" at character 111 ' More Help: Error with POSTGIS data variable. You specified 'check your .map file'. Standard ways of specifiying are : (1) 'geometry_column from geometry_table' (2) 'geometry_column from (sub query) as foo using unique column name using SRID=srid#' Make sure you put in the 'using unique column name' and 'using SRID=#' clauses in. For more help, please see http://postgis.refractions.net/documentation/ Mappostgis.c - version of Jan 23/2004. in C:\website\myMapServer\php_out\getMap.php on line 719

Der Fehler tritt auch auf, wenn ich im MapFIle statt des Views den kompletten Abfragestring in DATA "the_geom from (SELECT ....)..." verwende, offenbar ist der Part "column::text" in der von MapServer generierten Abfrage überflüssig, kann aber leider nicht von mir beeinflusst werden.

Ein Bug oder ein Fehler meinerseits?

Danke im Voraus...

Ludwig





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