Mapcss Stile in JOSM

Hallo

In den letzten Tagen habe ich mein ersten Zeichenstil für JOSM erstellt. Anlass war die Tatsache, dass ich aus dem NRW-Atlas relativ viele Höhenangaben in die OSM-Daten übernommen habe (Bereich Bonn vorerst). Und die wollte ich natürlich auch in JOSM mitsamt der Höhenangabe sehen.

Neben dem Symbol für die Höhenangaben (Dreieck) wollte ich auch vereinfachte Symbole für (Straßen-)Lampen und Bäume nutzen. Die im JOSM Standard-Stil verwendeten Icons sind einerseits eher unauffällig (Straßenlampen) andererseits sehr dominant (Bäume). Ich wollte beide durch farbige Kreise ersetzen.

Da beginnt nun mein Problem. Offensichtlich werden die Icons gegenüber den Symbolen bevorzugt. Hat man nun den JOSM Standard-Stil eingeschaltet (was mir für meine Arbeitsweise sinnvoll erscheint), so wird zwar das Dreieck für Höhenangaben gerendert (da gab es vorher nichts), die Kreise für Bäume und Lampen werden jedoch nicht gezeigt, sondern stattdessen die im Standard-Stil definierten Icons. Schaltet man den Standard-Stil aus, so werden die von mir definierten Symbole alle drei gezeigt.

Meine Frage ist nun, ob Icons immer Vorrang gegenüber Symbolen haben, oder ob ich noch etwas ergänzen muss bzw. kann, um die Icons praktisch ausschalten zu können.

Anbei der Text meines Stils:

meta 
{
    title: "Elevation_Lamps_Trees";
    description: "Simple visualization of ele=Number, highway=street_lamp, man_made=lamp and natural=tree tags";
    version: "0.1_2013-12-04";
    author: "Edbert van Eimeren (OSM=EvanE)";
    
    watch-modified: true;
}

meta[lang=de] 
{
    title: "Hoehen_Lampen_Baeume";
    description: "Einfache Darstellung von ele=Number, highway=street_lamp, man_made=lamp and natural=tree Taggs";
}

node[ele] 
{
    symbol-shape: triangle;
    symbol-size: 20;
    symbol-stroke-color: blue;
    symbol-stroke-width: 2;
    symbol-fill-opacity: 0.3;
    text: "ele";
}

node[highway=street_lamp], node[man_made=lamp] 
{
    symbol-shape: circle;
    symbol-size: 20;
    symbol-stroke-color: yellow;
    symbol-stroke-width: 2;
    symbol-fill-opacity: 0.5;
    text: auto;
}

node[natural=tree] 
{
    symbol-shape: circle;
    symbol-size: 20;
    symbol-stroke-color: green;
    symbol-stroke-width: 2;
    symbol-fill-opacity: 0.5;
    text: auto;
} 

Für Hinweise oder Erklärungen wäre ich dankbar.
Edbert (EvanE)

Ich würde vermuten, dass man die Eigenschaft icon-image mit einem geeigneten Wert “überschreiben” muss, der “kein Bild” bedeutet - vielleicht so (ohne es probiert zu haben):

icon-image: none;

Man sollte sich zwar nicht selber antworten aber in diesem Fall will ich eine Ausnahme machen, da ich eine Lösung gefunden habe.
Nach icon-image: “”; und icon-opacity: 0.3; habe ich noch icon-width: 12; ausprobiert. Mit den letzten beiden Angaben wird das Icon aus dem Standard-Stil schwächer bzw. kleiner gerendert. Das mag für viele Fälle schon ausreichend sein.

Das Icon könnte man natürlich auch durch ein anderes Bild (=Dateiname in icon-image) ersetzen, aber ich wollte ein einfaches Symbol haben. Zum Schluss habe ich heraus gefunden, dass man das Icon durch icon-image: none; (ohne Hochkomma!) komplett abschalten und dann durch ein Symbol ersetzen kann. (Die Idee von MHohmann war also genau richtig.)

Edbert (EvanE)

Das ist jetzt aber nicht das erste mal :wink:
Schreib einfach drauf los was du wissen willst …
Hier wird dir niemand was (den Kopf zum Beispiel ) runterhauen
Und auch nicht teern und federn

Sind alle ganz liebe hier

Ist wie bei den Selbstgesprächen - auch da sollte man stehst einen kompetenten Gesprächspartner haben :wink:

Gratulation und Gruss
walter