<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
sorry, ich denke meine erste Frage kann ich selbst beantworten.<br>
Da keine Farbinformationen im Symbol selbst vergeben werden, ist dieses
auch nicht sichtbar. Dem Style-Objekt muß einfach noch eine Farbe
zugewiesen werden...<br>
<blockquote cite="mid45702602.3050207@gmx.de" type="cite">
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
Hallo Kai,<br>
<br>
das klappt wunderbar! <br>
Allerdings habe ich noch zwei kurze Fragen:<br>
- 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)<br>
- 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:<br>
<pre wrap="">$that_layer[i]=ms_newLayerObj($map);
für jedes Objekt ein neues Layerobjekt erzeugt wird und das der Grund ist?
</pre>
Danke und viele Grüße, Katja<br>
<br>
<blockquote cite="mid20061201094731.M67058@igf.uni-osnabrueck.de"
type="cite">
<pre wrap="">Hallo Katja,
</pre>
<blockquote type="cite">
<pre wrap="">Da ich sehr viele Kategorien vorliegen habe, ist das vermutlich die
kürzere Variante.
</pre>
</blockquote>
<pre wrap=""><!---->
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: <a class="moz-txt-link-freetext"
href="mailto:kbehncke@igf.uni-osnabrueck.de">mailto:kbehncke@igf.uni-osnabrueck.de</a>
Web: <a class="moz-txt-link-freetext"
href="http://www.igf.uni-osnabrueck.de">http://www.igf.uni-osnabrueck.de</a>
_______________________________________________
Mapserver-DE mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:Mapserver-DE@freegis.org">Mapserver-DE@freegis.org</a>
<a class="moz-txt-link-freetext"
href="https://freegis.org/mailman/listinfo/mapserver-de">https://freegis.org/mailman/listinfo/mapserver-de</a>
</pre>
</blockquote>
<br>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Mapserver-DE mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Mapserver-DE@freegis.org">Mapserver-DE@freegis.org</a>
<a class="moz-txt-link-freetext" href="https://freegis.org/mailman/listinfo/mapserver-de">https://freegis.org/mailman/listinfo/mapserver-de</a></pre>
</blockquote>
<br>
</body>
</html>