[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)