Re: [Mapserver-DE] Zusätzlicher Layer mit PHP/Mapscript
christian.graefe@web.de
christian.graefe at web.de
Mit Jan 19 14:36:14 CET 2005
Hallo zusammen!
Habe inzwischen auch ein Lösung gefunden und
möchte diese Erkenntnisse mit euch teilen.
1. Erstellen eines leeren Layers innerhalb der MAP-Datei
mit den gewünschten Einstellungen
*
LAYER
NAME "STRECKE"
TYPE LINE
FEATURE
END
STATUS ON
TEMPLATE VOID
CLASS
STYLE
COLOR 102 102 102
SYMBOL "punkt"
SIZE 4
END
STYLE
COLOR 255 255 255
SYMBOL "rechteck-bahn"
END
END
END
*
2. Ich iteriere meine Ergebnismenge und erstelle mehrere Punkte
innerhalb des Line-Objektes ($objLine)
Füge diese einem Shape zu und füge nun wiederum das Shape
dem Layer hinzu
$objLine = ms_newLineObj();
while ($row = pg_fetch_array($result)) {
$objLine->addXY($row["x"], $row["y"]);
}
$shp = ms_newShapeObj(MS_SHP_POINT);
$shp->add($objLine);
$lyr = $map->getLayerByName("STRECKE");
$lyr->addFeature($shp);
Frage zu 2.: Warum muss das Shape-Objekt vom Typ "MS_SHP_POINT" sein?
Ich habe es mit "MS_SHP_LINE" versucht, weil es mir logisch erschien,
aber es hat bei mir nicht funktioniert.
MfG Christian
<christian.graefe at web.de> schrieb am 19.01.05 10:20:43:
Hallo zusammen!
Ich bin anscheinend zu doof einen dynamischen Layer mittels PHP
in meine Karte hinzuzufügen.
Ich lese verschiedene Punkte aus meiner Datenbank aus und füge sie dem
Layer hinzu. Habe ich da irgendwas vergessen? Schaut mal bitte kurz über
den Quellcode.
MfG
Christian
<!------
$map_file = "Streckenuebersicht.map";
$map = ms_newMapObj($map_path.$map_file);
// *** Neuer Layer
$objLayer = ms_newLayerObj($map);
$objLayer->set("name", "STRECKE");
$objLayer->set("type", "MS_LAYER_LINE");
$objLayer->set("status","MS_ON");
$conn = pg_connect("host=localhost port=5432 dbname=DATENBANK user=NUTZER password=GANZGEHEIM");
$result = pg_exec($strSQL);
$objLine = ms_newLineObj();
$objNewPoint = ms_newPointObj();
while ($row = pg_fetch_array($result)) {
$objNewPoint->setXY($row["x"], $row["y"]);
$objLine->add($objNewPoint);
}
$objShape = ms_newShapeObj(MS_SHAPE_LINE);
$objShape->add($objLine);
$objLayer->addFeature($objShape);
$objClass = ms_newClassObj($objLayer);
$objStyle = ms_newStyleObj($objClass);
$objStyle->color->setRGB( 0, 0, 255 );
pg_close($conn);
$image=$map->draw();
$image_url=$image->saveWebImage();
//-->
<hr>
_______________________________________________
Mapserver-DE mailing list
Mapserver-DE at freegis.org
https://freegis.org/mailman/listinfo/mapserver-de
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : smime.p7s
Dateityp : application/x-pkcs7-signature
Dateigröße : 1452 bytes
Beschreibung: S/MIME Cryptographic Signature
URL : http://www.intevation.de/pipermail/mapserver-de/attachments/20050119/15adf6ae/smime.p7s
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)