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