[Mapserver-DE] Postgis layer für Flash Ausgabe, Subselect und join
Markus Reinhardt
markus.reinhardt at stud-mail.uni-wuerzburg.de
Die Jul 5 14:41:11 CEST 2005
Hallo,
ich habe ein Problem bei der Verwendung von METADATA->SWFDUMPATTRIBUTES
mit Postgis Subselects/Joins.
Zuerst möchte ich einmal den Mapscript-Codeausschnitt posten, der
funktioniert:
LAYER
NAME location
CONNECTIONTYPE postgis
CONNECTION "user=postgres password=* dbname=* host=localhost"
DATA "the_geom from (select oid,* from countries) as foo"
METADATA
"SWFDUMPATTRIBUTES" "admin_name"
END
PROJECTION
"init=epsg:4326"
END
CLASS
COLOR 232 232 232
OUTLINECOLOR 32 32 32
END
END
Hierbei verbinde ich mich zu meiner Tabelle, welche nur die dt.
Bundeslandpolygone enthält und übertrage den Namen des jeweiligen Landes
in das SWF Attribut, welches in der Flash-Demo Anwendung beim
Mouseover-Effekt pro Bundesland angezeigt wird. Das funktioniert ohne
Probleme.
Wenn ich allerdings anstelle des einfacheren SELECT-Befehls über zwei
Tabellen joine gibt es Probleme. Hier der andere Code:
LAYER
NAME location
CONNECTIONTYPE postgis
CONNECTION "user=postgres password=* dbname=* host=localhost"
DATA "the_geom from (SELECT locations.oid, identifier, the_geom FROM
locations, location_types WHERE location_types.id = locations.type_ref
AND location_types.tier = 3 AND location_types.country='Germany') AS foo
using unique the_geom using SRID=4326 GROUP BY name"
METADATA
"SWFDUMPATTRIBUTES" "identifier"
END
PROJECTION
"init=epsg:4326"
END
CLASS
COLOR 232 232 232
OUTLINECOLOR 32 32 32
END
END
Zum Hintergrund:
Ich habe eine Tabelle (locations), welche alle Polygon-Geometrien
enthält. Eine zweite Tabelle (location_types) speichert die Hierarchie.
So sind also die Bundesländer, welche vorher in einer Tabelle waren als
solche markiert und lassen sich so abfragen. Die WHERE Klausel sorgt
dafür, dass in diesem Fall nur die Bundesländer zurückgegeben werden.
Die Query funktioniert auch, allerdings wird das Attribut identifier,
welches wiederum den Namen des Landes enthält nicht korrekt zugeordnet.
Alle Bundesländer heißen im Gegensatz zu der vorherigen Karte
'Schleswig-Holstein'. Das Abfrageergebnis aus der Datenbank enthält
jedoch alle Bundeslandnamen. Zum Test habe ich mir ein Label erzeugt.
Ich bin für jede Anregung dankbar,
Mit freundlichen Grüßen,
Markus Reinhardt
--
My GnuPG <http://www.gnupg.org> public key:
http://pgpkeys.pca.dfn.de:11371/pks/lookup?op=get&search=0x4CFAB28FFB576443
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://www.intevation.de/pipermail/mapserver-de/attachments/20050705/0237cc47/attachment.html
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 254 bytes
Beschreibung: OpenPGP digital signature
URL : http://www.intevation.de/pipermail/mapserver-de/attachments/20050705/0237cc47/signature.asc
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)