[Mapserver-DE] point-layer mit mysql, php/mapscript und versch. symbolen?

Kai Behncke kbehncke at igf.uni-osnabrueck.de
Fre Dez 1 10:51:24 CET 2006


Hallo Katja,

> Da ich sehr viele Kategorien vorliegen habe, ist das vermutlich die 
> kürzere Variante. 

Wenn Du sehr viele Kategorien in der mysql-Datei vorhälst, dann kannst Du die
Ausgabe mittels unterschiedlicher Symbole  auch automatisiert über ein Array
erstellen.
Das Skript dafür sieht dann wie folgt aus:

function AddPoints ( $map, $qresult ) {

     $i = 0;
     foreach($qresult as $row) {
        $poi[$i] = ms_newPointObj();
       $ln[$i] =  ms_newLineObj();
       $shp[$i] = ms_newShapeObj(MS_SHAPE_POINT);
        $poi[$i]->setXY($row[3],$row[2]);
    $ln[$i]->add($poi[$i]);
	
     $shp[$i]->add($ln[$i]);
         $shp[$i]->set(index, $row[0]);

    
        $array_kategorieeintraege=$row[7];

       
    
     if ($row[7]=="$array_kategorieeintraege") {
          $that_layer[i]=ms_newLayerObj($map);
          $that_layer[i]->set('status',MS_ON);
          $that_layer[i]->set ("name",$array_kategorieeintraege);
          $that_layer[i]->set ("type",point);
          $newclass=ms_newClassObj($that_layer[i]);
          $newclass->set ("name",$array_kategorieeintraege);
          $newstyle=ms_newStyleObj($newclass);
          $newstyle->set("symbolname", $array_kategorieeintraege);
          $that_layer[i]->addFeature( $shp[$i] );
}
        $i++;
     }

     return;

}

Auf diese Art und Weise muss man nicht statisch die Symbole festlegen und
spart jede Menge Arbeit.

Viele Grüße, Kai
--
Dipl.-Geogr. Dipl.-Umweltw. Kai Behncke

Institut für Geoinformatik und Fernerkundung (IGF)
Universität Osnabrück
Kolpingstr. 7
49074 Osnabrück

Raum: 01/308
Tel.: +49 541 969-4450
E-Mail: mailto:kbehncke at igf.uni-osnabrueck.de 
Web:  http://www.igf.uni-osnabrueck.de




This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)