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)