[Mapserver-DE] getshape auf Postgis braucht oid?
Thomas Baschetti
Thomas.Baschetti at gmx.de
Die Feb 28 16:11:46 CET 2006
Hallo,
Die Frage wurde eigentlich hier schon einmal gestellt
(http://freegis.org/pipermail/mapserver-de/2005-June/001351.html)
aber anscheinend nicht (öffentlich) beantwortet?
Also, ich versuche gerade mit edbs2wkt erzeugte Postgislayer über
PHP/Mapscript abzufragen, stosse dabei aber auf folgende Schwierigkeit:
Die Tabellen in PostgreSQL sind ohne OID erzeugt (without oid).
Beim Abgreifen der Daten erhalte ich zwar eine Ergebnisanzahl,
der Zugriff auf die Objekte ist aber erfolglos:
$res = $lyr->queryByPoint($point_obj, MS_MULTIPLE,2);
echo "Gefunden:" . $lyr->getNumResults() . " Objekte <BR>";
//ergibt ein Ergebnis, es wird also etwas gefunden
$lyr->open();
for ($i=0;$i<$anzahl;$i++){
$cmo = $lyr->getresult($i);
$shp = $lyr->getshape(-1,$cmo->{shapeindex});
die letzte Zeile liefert bei Postgis-Layern mit OID ein Ergebnis
(ebenso mit Shapefiles), bei Layer ohne OID aber nicht.
Was also mache ich hier falsch? Brauche ich hier unbedingt eine
OID oder einen numerischen unique-Wert? Die Objekte selber
werden ja gefunden (siehe getNumResults()), aber der Zugriff
auf die Objekte klappt dann nicht.
Die Data-Zeile der Layer:
DATA "the_geom from (select * from f001_e_fla) as foo using unique objnr
using SRID=31466"
(ohne OID)
DATA "the_geom from (select * from flurstuecke) as foo using unique oid
using SRID=31466"
(Layer mit OID)
Ciao
Thomas Baschetti
ITEBO GmbH
--
10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail
+++ GMX - die erste Adresse für Mail, Message, More +++
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)