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

umn-ms@hydrotec.de umn-ms at hydrotec.de
Die Dez 12 16:18:11 CET 2006


Hallo Herr Kniprath

>  DATA "gewaessergueteabschnitt from view_gewaesserguete as foo using 
unique column name using SRID=31466#"

Ist das jetzt nur für das Posting so rübergekommen 
oder heisst die eindeutige Integer-Spalte wirklich "column" 
oder ist das ein echter Copy-Paste-aus-der-Doku-Flüchtigkeitsfehler? 

Immerhin wird laut Fehlermeldung "column" in das von Mapserver generierte 
Statement übernommen.

Sollte da statt "using unique column name" besser "using unique ID" stehen 
(mit "ID" der Name der Integer-Spalte, die eine Zeile
im View eindeutig identifiziert)?

Schöne Grüße aus Aachen nach Düren
Benedikt Rothe


mapserver-de-bounces at freegis.org schrieb am 12.12.2006 14:43:23:

> 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
> 
> _______________________________________________
> Mapserver-DE mailing list
> Mapserver-DE at freegis.org
> https://freegis.org/mailman/listinfo/mapserver-de
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://www.intevation.de/pipermail/mapserver-de/attachments/20061212/58be15b4/attachment.html


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