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

Katja Friebel k.friebel at gmx.de
Fre Dez 1 14:14:13 CET 2006


sorry, ich denke meine erste Frage kann ich selbst beantworten.
Da keine Farbinformationen im Symbol selbst vergeben werden, ist dieses 
auch nicht sichtbar. Dem Style-Objekt muß einfach noch eine Farbe 
zugewiesen werden...

> Hallo Kai,
>
> das klappt wunderbar!
> Allerdings habe ich noch zwei kurze Fragen:
> - Warum ist die Darstellung von (z.B.gif-) Bildern, die als Symbol 
> definiert werden, möglich, nicht aber von eigens definierten Symbolen? 
> (in diesem Fall wird zwar ein Legendeneintrag erzeugt, aber in Karte 
> und Legende erscheint kein Symbol)
> - Und warum wird für jedes Objekt ein Legendeneintrag erzeugt, und 
> nicht nur für jede Klasse? Verstehe ich es richtig, daß an dieser Stelle:
>
>$that_layer[i]=ms_newLayerObj($map);
>
>für jedes Objekt ein neues Layerobjekt erzeugt wird und das der Grund ist?
>  
>
> Danke und viele Grüße, Katja
>
>>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
>>
>>_______________________________________________
>>Mapserver-DE mailing list
>>Mapserver-DE at freegis.org
>>https://freegis.org/mailman/listinfo/mapserver-de
>>
>>  
>>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Mapserver-DE mailing list
>Mapserver-DE at freegis.org
>https://freegis.org/mailman/listinfo/mapserver-de
>

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://www.intevation.de/pipermail/mapserver-de/attachments/20061201/bb1462c2/attachment.html


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