wiki:Styles/Coloured_Streets

Version 18 (modified by Klumbumbus, 11 years ago) ( diff )

+icon

[[Image(...)]] Coloured Streets

TOC(inline)

Coloured Streets (english)

Deutscher Text weiter unten (german text below)

Description

The mappaint style "Coloured Streets" makes working with addresses easier.

Streets, buildings and address nodes with the same first letter of the street name are highlighted in the same colour. Thereby you can quickly recognize, which house belongs to which street. Furthermore it indicates missing or incorrect data. If there is addr:street but no addr:nousenumber then it shows "number?". If there is addr:housenumber but no addr:street then it shows "street?". If there are streets (ways with highway=*) with an addr:*=* tag, then it shows "no addr!". Coloured Streets is also very good compatible with the style Less Obtrusive Nodes.

There is an alternitive version of Coloured Streets. It differs in 2 points compared to the default version:

  • Instead of the first the last letter is evaluated. This is suitable for countries where a lot of streets start with the same letter (e.g. in France "Rue ..."). In this context also lower case letters are supported for the colour choice.
  • The notifications "no addr!" for ways with highway=* and one addr*=* are completely disabled. I saw a lot of streets in Russia with addr:postcode. I suppose this way is consensus in Russia.

Other useful tools for address mapping: Coloured_Postcode, Coloured_Suburb, HousenumberValidator, OSM Inspector, ITO maps, Roof modelling.

For ideas/questions/bugs/suggestions or similar please write a message to geozeisig and/or Klumbumbus. Please write if there are special characters missing, which are first letters of street names. Gladly we will add them. (Notice that characters may look the same, but are may different unicode characters. They need to added to the mappaint style individually. For example Latin, Cyrillic and Greek "A", see table below.)

Example of Coloured Streets:

No image "exampleColouredStreets2.0.jpg" attached to Styles/Coloured_Streets

Summary of the most important changes from version 1.011 to 2.0

  • The housenumbers are bigger, have a coloured background and are thereby more visible.
  • Support of associatedStreet relations
  • Support of special characters and unknown characters
  • Simultaneous display of number and name (and number? respectively street?, if necessary)

The changes in detail

General changes

  • There are 4 new colours:
    • #ffffff (white) is used for all lower case letters and all not supported special characters as first letter of the street name
    • #e1bd6a
    • #81621a
    • #ff7c00
  • A lot more added special characters. Overview of all colours and the assigned characters:

No image "ColourTableColouredStreets.png" attached to Styles/Coloured_Streets

  • The coloured circle at address nodes is now a little bit bigger, so it is more visible behind icons like entrance=*.
  • Housenumbers are now bigger and have also a coloured background.
  • Because of the coloured backgrund of the numbers the street affiliation is also possible when the item is selected.
  • The font of the name of Nodes and buildings is bigger.
  • The following colours changed:
    • G (now #176767) and P (now #824b00) (because they were to dark in particular as background of the black text.)
    • A (now #81c0ff) and I (now #0072e2) (because A and B were to similar)
    • Z (now #ff4444) (because R and Z were to similar)
    • E (now #f0b9a6) (because E and Q were to similar)
  • Support of associatedStreet relations. (The relation must contain the street name in the key "name".)
  • If a building contains name and housenumber then now both is displayed. At first the number then the name, separated by a |.
  • If a node contains name and housenumber then now both is displayed.
  • For a better overall view numbers and names are disabled in lower zoom levels. (The colours and Error messages stay.)
  • Buildings which usually do not contain address data are displayed toned down. This concerns in detail areas with one of the following values of the key building: bunker, cabin, farm_auxiliary, garage, garages, hut, roof, shed.
  • For the display of the name now also areas are supported which do not contain any building=*.
  • transparencies were a little bit increased or added
  • For some special cases of areas, the text is now no longer displayed in the middle and on the outline but only in the middle.
  • The style has now an icon, which can be placed in the toolbar for fast on/off switch.

Changes for the representation, if data is missing or incorrect

  • Colour and position of the name of nodes unified
  • A missing housenumber is also reported if the node contains amenity=* (this was explicit disabled before)
  • If the housenumber is missing the colour of the outline of a building is now more visible.
  • Now it is also reported ("no addr!") if a street (highway=*) contains a housenumber
  • "street?" is also reported if a area with housenumber does not contain any building=*.
  • "number?" has now also the coloured background
  • "street?" has now a red background
  • At the representations of missing addr:street or addr:housenumber there is now also shown the number and the name, depending on which is availible. For example "street? 5 | name of the shop" or "number? | name of the shop" (the street affiliation in the second case is visible by the colour)
  • "no addr!" has now always red background

Comparison

For comparison, here is a part of my "test center".

JOSM default internal style compared to Coloured Streets 2.0:

No image "JOSM_internal_compared_to_ColouredStreets2.0.gif" attached to Styles/Coloured_Streets

How Coloured Streets changed from version 1.011 to 2.0:

No image "ColouredStreets_1.011to2.0.gif" attached to Styles/Coloured_Streets

Coloured Streets (deutsch)

Beschreibung

Der Mappaint style "Coloured Streets" erleichtert die Arbeit mit Adressen.

Straßen, Häuser und Adressnodes mit gleichem Anfangsbuchstabe des Straßennamens werden mit der gleichen Farbe hinterlegt. Dadurch kann auf einen Blick erkannt werden, welches Haus zu welcher Straße gehört. Weiterhin wird auf fehlende oder fehlerhafte Daten hingewiesen. Ist addr:street vorhanden aber kein addr:housenumber, so wird "number?" ausgegeben. Ist addr:housenumber vorhanden, jedoch kein addr:street, so wird "street?" ausgegeben. Haben Straßen (Wege mit highway=*) ein addr:*-tag, so wird "no addr!" ausgegeben. Coloured Streets ist auch sehr gut kompatibel mit dem Style Unaufdringlichere Nodes.

Es gibt eine alternative Version von Coloured Streets. Diese unterschiedet sich in 2 Punkten zur normalen Version:

  • Es wird statt des ersten der letzte Buchstabe ausgewertet. Dies ist geeignet für Länder, wo viele Straßen mit dem gleichen Buchstaben beginnen (z.B. in Frankreich "Rue ..."). In diesem Zusammenhang werden auch Kleinbuchstaben für die Farbwahl unterstützt.
  • Die Meldungen "no addr!" für Wege mit highway=* und einem addr:*=* ist vollständig deaktiviert. Ich habe in Russland viele Straßen gesehen, die mit addr:postcode gataggt sind. Ich vermute dies ist in Russland so Konsens.

Weitere hilfreiche Tools für das Mappen von Adressen: Coloured_Postcode, Coloured_Suburb, HousenumberValidator, OSM Inspector, ITO maps, Roof modelling.

Bei Anregungen/Fragen/Bugs/Vorschlägen o.ä. bitte eine Nachricht an geozeisig und/oder Klumbumbus. Bitte schreibt, wenn Sonderzeichen, welche Anfangsbuchstaben von Straßennamen sind, fehlen. Gerne werden wir sie mit aufnehmen. (Beachte, dass Zeichen zwar gleich aussehen können, jedoch verschiedene Unicode-Zeichen sein können. Diese müssen daher auch einzeln im Mappaintstyle hinzugefügt werden. Beispielsweise lateinisches, kyrillisches und griechisches "A", s. Tabelle unten.)

Beispiel von Coloured Streets:

No image "exampleColouredStreets2.0.jpg" attached to Styles/Coloured_Streets

Zusammenfassung der wichtigsten Änderungen von Version 1.011 zu 2.0

  • Die Hausnummern sind größer, farbig hinterlegt und dadurch besser sichtbar.
  • Unterstützung von associatedStreet-Relationen
  • Unterstützung von Sonderzeichen und unbekannten Zeichen
  • Gleichzeitige Anzeige von Nummer und Name (und number? bzw. street?, falls notwendig)

Die Änderungen im Detail

Allgemeine Änderungen

  • Es wurden 4 neue Farben eingeführt:
    • #ffffff (weiß) wird verwendet für alle Kleinbuchstaben und nicht explizit enthaltene Sonderzeichen als ersten Buchstabe des Straßennamens
    • #e1bd6a
    • #81621a
    • #ff7c00
  • Viele weitere hinzugefügte Sonderzeichen. Übersicht über alle Farben und den zugeordneten Zeichen:

No image "ColourTableColouredStreets.png" attached to Styles/Coloured_Streets

  • Der farbige Kreis bei Adressnodes ist nun ein kleines bisschen größer, damit er hinter Icons wie bspw. entrance=* besser zu erkennen ist.
  • Hausnummern sind nun größer und haben ebenfalls einen farbigen Schimmer um die Zahl.
  • Durch den farbigen Schimmer der Nummern ist die Straßenzuordnung von Gebäuden und Nodes mithilfe der Farbe auch noch bei Selektion möglich
  • Schrift des Namens bei Nodes und Gebäuden größer.
  • Folgende Farben wurden geändert:
    • G (jetzt #176767) und P (jetzt #824b00) (da sie insbesondere für die Hinterlegung der schwarzen Schrift zu dunkel waren)
    • A (jetzt #81c0ff) und I (jetzt #0072e2) (da sich A und B zu ähnlich waren)
    • Z (jetzt #ff4444) (da sich R und Z zu ähnlich waren)
    • E (jetzt #f0b9a6) (da sich E und Q zu ähnlich waren)
  • Unterstützung von associatedStreet-Relationen. Dazu muss die Relation den Straßenname im key name enthalten.
  • Enthält ein Gebäude Name und Hausnummer, so wird nun beides angezeigt. Zuerst die Nummer, dann der Name, getrennt durch einen |.
  • Enthält ein Node Name und Hausnummer, so wird nun beides angezeigt.
  • Zur besseren Übersicht werden die Nummer und Namen in niedrigeren Zoomstufen ausgeblendet. (Die Farben und Fehlermeldungen bleiben.)
  • Gebäude, welche in der Regel keine Adressdaten besitzen werden schwächer dargestellt. Dies betrifft im einzelnen Flächen mit einem der folgenden Werte im key building= : bunker, cabin, farm_auxiliary, garage, garages, hut, roof, shed.
  • Für die Darstellung des Namens werden nun auch Flächen mit Adressen berücksichtigt, welche kein building=* besitzen
  • Transparenzen wurden leicht erhöht, bzw. eingefügt.
  • Bei ein paar Sonderfällen bei Flächen wird nun nicht mehr die Bezeichnung in der Mitte und auf der Linie, sondern nur noch in der Mitte angezeigt.
  • Der Style hat jetzt ein Icon, welches in der Werkzeugleiste platziert werden kann, um den Style schnell ein- und auszuschalten.

Änderungen für die Darstellung, wenn Daten fehlen oder fehlerhaft sind

  • Farbe und Position des Namens bei Nodes vereinheitlicht
  • Es wird nun eine fehlende Hausnummer an Adressnodes auch dann angezeigt, wenn der Node amenity=* enthält (dies war zuvor explizit deaktiviert).
  • Die Umrissfarbe eines Gebäudes (=Straßenzuordnung) bei fehlender Hausnummer ist jetzt besser erkennbar
  • Es wird nun auch als Fehler angezeigt (no addr!), wenn eine Straße (highway=*) ein addr:housenumber=* enthält.
  • "street?" wird bei Flächen mit Hausnnummer nun auch dann angezeigt, wenn die Fläche kein building=* besitzt
  • "number?" ist nun auch mit der entsprechenden Farbe hinterlegt
  • "street?" ist nun rot hinterlegt
  • Bei den Darstellungen für fehlende addr:street bzw. addr:housenumber werden nun auch zusätzlich Hausnummer und Name angezeigt, je nachdem was alles vorhanden ist z.B. "street? 5 | Name des Geschäfts" oder "number? | Name des Geschäfts" (Die Straßenzugehörigkeit ist in letzterem Falle durch die Farbe erkennbar)
  • "no addr!" wird nun immer rot hinterlegt

Vergleich

Zum Vergleich hier ein Ausschnit meines "Testcenters". JOSM standard interner Style verglichen mit Coloured Streets 2.0

No image "JOSM_internal_compared_to_ColouredStreets2.0.gif" attached to Styles/Coloured_Streets

Wie sich Coloured Streets von Version 1.011 zu 2.0 verändert hat:

No image "ColouredStreets_1.011to2.0.gif" attached to Styles/Coloured_Streets

Code

meta 
{
        title: "Coloured Streets";
        version: "2.0.127_2021-04-10"; 
        description: "Colouring of streets, buildings and address nodes with the same first letter of the street name in the same colour. (Let me know if you miss special characters. I will add them.)";
        icon: "http://upload.wikimedia.org/wikipedia/commons/3/3a/ColouredStreetsIcon.png";
        author: "geozeisig, Klumbumbus";
        link: "http://josm.openstreetmap.de/wiki/Styles/Coloured_Streets";
        watch-modified: true;
        /* This mapcss mappaint style was created for JOSM 6767. I try to support future versions of JOSM as long as I'm able to.*/
}

meta[lang=de]
{
        title: "Coloured Streets";
        description: "Einfärben von Straßen, Gebäuden und Adressnodes mit gleichem Anfangsbuchstabe des Straßennamens in der gleichen Farbe. (Gib mir Bescheid, wenn Sonderzeichen fehlen. Ich werde sie hinzufügen.)";
}


/* highlight areas, ways and nodes*/
        /* all unknown characters in white color and all rules, which apply to all colors; different rules for different zoom*/
area|z18-["addr:street"],
relation[type="associatedStreet"] > area|z18-["addr:housenumber"]
{ 
        fill-color: #ffffff; 
        color: #ffffff;
        width: 3; 
        fill-opacity:0.2;       
        text-halo-radius: 3;
        text-halo-color: #ffffff;
        text: eval(cond(has_tag_key(name), concat(tag("addr:housenumber"), " | ", tag("name")), tag("addr:housenumber")));
}
area|z-17["addr:street"],
relation[type="associatedStreet"] > area|z-17["addr:housenumber"]
{ 
        fill-color: #ffffff; 
        color: #ffffff;
        width: 3; 
        fill-opacity:0.2;       
        text: ;
}
node|z18-["addr:street"]::halo,
relation[type="associatedStreet"] > node|z18-["addr:housenumber"]::halo
{
        symbol-fill-color: #ffffff; 
        symbol-shape: circle; 
        symbol-size: 22;
        symbol-fill-opacity: 0.8;
        z-index: -1;
        text: eval(tag("addr:housenumber"));
        font-size: 12;
        text-color: black;
        text-anchor-vertical: center;
        text-offset-x: -3;
        text-halo-color: #ffffff; 
        text-halo-radius: 2; 
        text-halo-opacity: 0.8;
}
node|z-17["addr:street"]::halo,
relation[type="associatedStreet"] > node|z-17["addr:housenumber"]::halo
{
        symbol-fill-color: #ffffff; 
        symbol-shape: circle; 
        symbol-size: 22;
        symbol-fill-opacity: 0.8;
        z-index: -1;
        text: ;
        font-size: 12;
        text-color: black;
        text-anchor-vertical: center;
        text-offset-x: -3;
        text-halo-color: #ffffff; 
        text-halo-radius: 2; 
        text-halo-opacity: 0.8;
}
way|z18-["highway"]["name"] 
{
        color: #ffffff; 
        width: 3;
        font-size: 12; 
        text-color: #000000; 
        text-position: line; 
        text: eval(tag("name")); 
        text-offset: 0; 
        text-halo-color: #ffffff; 
        text-halo-radius: 2;
}       
way|z-17["highway"]["name"] 
{
        color: #ffffff; 
        width: 3;
        text: ; 
}       

        /* all known characters in different colors */

area["addr:street"=~/^[AАΑ]/],
relation[type="associatedStreet"][name=~/^[AАΑ]/] > area["addr:housenumber"]
{ 
        fill-color: #81c0ff; 
        color: #81c0ff;
        text-halo-color: #81c0ff;
}
node["addr:street"=~/^[AАΑ]/]::halo,
relation[type="associatedStreet"][name=~/^[AАΑ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #81c0ff; 
        text-halo-color: #81c0ff; 
}
way["highway"]["name"=~/^[AАΑ]/]
{
        color: #81c0ff; 
        text-halo-color: #81c0ff; 
}       

area["addr:street"=~/^[Ä1БΒÁÀÂÆ]/],
relation[type="associatedStreet"][name=~/^[Ä1БΒÁÀÂÆ]/] > area["addr:housenumber"]
{ 
        fill-color: #e1bd6a; 
        color: #e1bd6a;
        text-halo-color: #e1bd6a;
}
node["addr:street"=~/^[Ä1БΒÁÀÂÆ]/]::halo,
relation[type="associatedStreet"][name=~/^[Ä1БΒÁÀÂÆ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #e1bd6a; 
        text-halo-color: #e1bd6a; 
}
way["highway"]["name"=~/^[Ä1БΒÁÀÂÆ]/]
{
        color: #e1bd6a; 
        text-halo-color: #e1bd6a; 
}       

area["addr:street"=~/^[BВΓ]/],
relation[type="associatedStreet"][name=~/^[BВΓ]/] > area["addr:housenumber"]
{ 
        fill-color: #7fffd4; 
        color: #7fffd4;
        text-halo-color: #7fffd4;
}
node["addr:street"=~/^[BВΓ]/]::halo,
relation[type="associatedStreet"][name=~/^[BВΓ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #7fffd4; 
        text-halo-color: #7fffd4; 
}
way["highway"]["name"=~/^[BВΓ]/] 
{
        color: #7fffd4; 
        text-halo-color: #7fffd4; 
}       
        
area["addr:street"=~/^[CГΔÇČ]/],
relation[type="associatedStreet"][name=~/^[CГΔÇČ]/] > area["addr:housenumber"]
{ 
        fill-color: #8a2be2; 
        color: #8a2be2;
        text-halo-color: #8a2be2;
}
node["addr:street"=~/^[CГΔÇČ]/]::halo,
relation[type="associatedStreet"][name=~/^[CГΔÇČ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #8a2be2; 
        text-halo-color: #8a2be2; 
}
way["highway"]["name"=~/^[CГΔÇČ]/]
{
        color: #8a2be2; 
        text-halo-color: #8a2be2; 
}       
        
area["addr:street"=~/^[DДΕ]/],
relation[type="associatedStreet"][name=~/^[DДΕ]/] > area["addr:housenumber"]
{ 
        fill-color: #a52a2a; 
        color: #a52a2a;
        text-halo-color: #a52a2a;
}
node["addr:street"=~/^[DДΕ]/]::halo,
relation[type="associatedStreet"][name=~/^[DДΕ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #a52a2a; 
        text-halo-color: #a52a2a; 
}
way["highway"]["name"=~/^[DДΕ]/] 
{
        color: #a52a2a; 
        text-halo-color: #a52a2a; 
}       
        
area["addr:street"=~/^[EЕЁΖÊÉÈË]/],
relation[type="associatedStreet"][name=~/^[EЕЁΖÊÉÈË]/] > area["addr:housenumber"]
{ 
        fill-color: #f0b9a6; 
        color: #f0b9a6;
        text-halo-color: #f0b9a6;
}
node["addr:street"=~/^[EЕЁΖÊÉÈË]/]::halo,
relation[type="associatedStreet"][name=~/^[EЕЁΖÊÉÈË]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #f0b9a6; 
        text-halo-color: #f0b9a6; 
}
way["highway"]["name"=~/^[EЕЁΖÊÉÈË]/] 
{
        color: #f0b9a6; 
        text-halo-color: #f0b9a6; 
}       
        
area["addr:street"=~/^[FЖΗ]/],
relation[type="associatedStreet"][name=~/^[FЖΗ]/] > area["addr:housenumber"]
{ 
        fill-color: #8fbc8f; 
        color: #8fbc8f;
        text-halo-color: #8fbc8f;
}
node["addr:street"=~/^[FЖΗ]/]::halo,
relation[type="associatedStreet"][name=~/^[FЖΗ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #8fbc8f; 
        text-halo-color: #8fbc8f; 
}
way["highway"]["name"=~/^[FЖΗ]/] 
{
        color: #8fbc8f; 
        text-halo-color: #8fbc8f; 
}       
        
area["addr:street"=~/^[GЗĞ]/],
relation[type="associatedStreet"][name=~/^[GЗĞ]/] > area["addr:housenumber"]
{ 
        fill-color: #1b7777; 
        color: #1b7777;
        text-halo-color: #1b7777;
}
node["addr:street"=~/^[GЗĞ]/]::halo,
relation[type="associatedStreet"][name=~/^[GЗĞ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #1b7777; 
        text-halo-color: #1b7777; 
}
way["highway"]["name"=~/^[GЗĞ]/] 
{
        color: #1b7777;
        text-halo-color: #1b7777; 
}       
        
area["addr:street"=~/^[HИΘ]/],
relation[type="associatedStreet"][name=~/^[HИΘ]/] > area["addr:housenumber"]
{ 
        fill-color: #ff1493; 
        color: #ff1493;
        text-halo-color: #ff1493;
}
node["addr:street"=~/^[HИΘ]/]::halo,
relation[type="associatedStreet"][name=~/^[HИΘ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #ff1493; 
        text-halo-color: #ff1493; 
}
way["highway"]["name"=~/^[HИΘ]/] 
{
        color: #ff1493; 
        text-halo-color: #ff1493; 
}       
        
area["addr:street"=~/^[IЙΙÎ]/],
relation[type="associatedStreet"][name=~/^[IЙΙÎ]/] > area["addr:housenumber"]
{ 
        fill-color: #0072e2; 
        color: #0072e2;
        text-halo-color: #0072e2;
}
node["addr:street"=~/^[IЙΙÎ]/]::halo,
relation[type="associatedStreet"][name=~/^[IЙΙÎ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #0072e2; 
        text-halo-color: #0072e2; 
}
way["highway"]["name"=~/^[IЙΙÎ]/] 
{
        color: #0072e2; 
        text-halo-color: #0072e2; 
}       
        
area["addr:street"=~/^[J2КΚ]/],
relation[type="associatedStreet"][name=~/^[J2КΚ]/] > area["addr:housenumber"]
{ 
        fill-color: #228b22; 
        color: #228b22;
        text-halo-color: #228b22;
}
node["addr:street"=~/^[J2КΚ]/]::halo,
relation[type="associatedStreet"][name=~/^[J2КΚ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #228b22; 
        text-halo-color: #228b22; 
}
way["highway"]["name"=~/^[J2КΚ]/] 
{
        color: #228b22; 
        text-halo-color: #228b22; 
}       
        
area["addr:street"=~/^[KЛΛ]/],
relation[type="associatedStreet"][name=~/^[KЛΛ]/] > area["addr:housenumber"]
{ 
        fill-color: #ffd700; 
        color: #ffd700;
        text-halo-color: #ffd700;
}
node["addr:street"=~/^[KЛΛ]/]::halo,
relation[type="associatedStreet"][name=~/^[KЛΛ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #ffd700; 
        text-halo-color: #ffd700; 
}
way["highway"]["name"=~/^[KЛΛ]/] 
{
        color: #ffd700; 
        text-halo-color: #ffd700; 
}       
        
area["addr:street"=~/^[LМΜŁ]/],
relation[type="associatedStreet"][name=~/^[LМΜŁ]/] > area["addr:housenumber"]
{ 
        fill-color: #BF9017; 
        color: #BF9017;
        text-halo-color: #BF9017;
}
node["addr:street"=~/^[LМΜŁ]/]::halo,
relation[type="associatedStreet"][name=~/^[LМΜŁ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #BF9017; 
        text-halo-color: #BF9017; 
}
way["highway"]["name"=~/^[LМΜŁ]/]
{
        color: #BF9017; 
        text-halo-color:#BF9017; 
}       
        
area["addr:street"=~/^[MНΝ]/],
relation[type="associatedStreet"][name=~/^[MНΝ]/] > area["addr:housenumber"]
{ 
        fill-color: #adff2f; 
        color: #adff2f;
        text-halo-color: #adff2f;
}
node["addr:street"=~/^[MНΝ]/]::halo,
relation[type="associatedStreet"][name=~/^[MНΝ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #adff2f; 
        text-halo-color: #adff2f; 
}
way["highway"]["name"=~/^[MНΝ]/] 
{
        color: #adff2f; 
        text-halo-color: #adff2f; 
}       
        
area["addr:street"=~/^[NОΞÑ]/],
relation[type="associatedStreet"][name=~/^[NОΞÑ]/] > area["addr:housenumber"]
{ 
        fill-color: #ff69b4; 
        color: #ff69b4;
        text-halo-color: #ff69b4;
}
node["addr:street"=~/^[NОΞÑ]/]::halo,
relation[type="associatedStreet"][name=~/^[NОΞÑ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #ff69b4; 
        text-halo-color: #ff69b4; 
}
way["highway"]["name"=~/^[NОΞÑ]/] 
{
        color: #ff69b4; 
        text-halo-color: #ff69b4; 
}       
        
area["addr:street"=~/^[OПΟ]/],
relation[type="associatedStreet"][name=~/^[OПΟ]/] > area["addr:housenumber"]
{ 
        fill-color: #cd5c5c; 
        color: #cd5c5c;
        text-halo-color: #cd5c5c;
}
node["addr:street"=~/^[OПΟ]/]::halo,
relation[type="associatedStreet"][name=~/^[OПΟ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #cd5c5c; 
        text-halo-color: #cd5c5c; 
}
way["highway"]["name"=~/^[OПΟ]/]
{
        color: #cd5c5c; 
        text-halo-color: #cd5c5c; 
}       

area["addr:street"=~/^[Ö3РΠØÓÔŒ]/],
relation[type="associatedStreet"][name=~/^[Ö3РΠØÓÔŒ]/] > area["addr:housenumber"]
{ 
        fill-color: #81621a; 
        color: #81621a;
        text-halo-color: #81621a;
}
node["addr:street"=~/^[Ö3РΠØÓÔŒ]/]::halo,
relation[type="associatedStreet"][name=~/^[Ö3РΠØÓÔŒ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #81621a; 
        text-halo-color: #81621a; 
}
way["highway"]["name"=~/^[Ö3РΠØÓÔŒ]/]  
{
        color: #81621a; 
        text-halo-color: #81621a; 
}
        
area["addr:street"=~/^[PС]/],
relation[type="associatedStreet"][name=~/^[PС]/] > area["addr:housenumber"]
{ 
        fill-color: #824b00; 
        color: #824b00;
        text-halo-color: #824b00;
}
node["addr:street"=~/^[PС]/]::halo,
relation[type="associatedStreet"][name=~/^[PС]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #824b00; 
        text-halo-color: #824b00; 
}
way["highway"]["name"=~/^[PС]/] 
{
        color: #824b00; 
        text-halo-color: #824b00; 
}       
        
area["addr:street"=~/^[Q4ТΡ]/],
relation[type="associatedStreet"][name=~/^[Q4ТΡ]/] > area["addr:housenumber"]
{ 
        fill-color: #f08080; 
        color: #f08080;
        text-halo-color: #f08080;
}
node["addr:street"=~/^[Q4ТΡ]/]::halo,
relation[type="associatedStreet"][name=~/^[Q4ТΡ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #f08080; 
        text-halo-color: #f08080; 
}
way["highway"]["name"=~/^[Q4ТΡ]/] 
{
        color: #f08080; 
        text-halo-color: #f08080; 
}       
        
area["addr:street"=~/^[RУΣ]/],
relation[type="associatedStreet"][name=~/^[RУΣ]/] > area["addr:housenumber"]
{ 
        fill-color: #F75617; 
        color: #F75617;
        text-halo-color: #F75617;
}
node["addr:street"=~/^[RУΣ]/]::halo,
relation[type="associatedStreet"][name=~/^[RУΣ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #F75617; 
        text-halo-color: #F75617; 
}
way["highway"]["name"=~/^[RУΣ]/] 
{
        color: #F75617; 
        text-halo-color: #F75617; 
}
                
area["addr:street"=~/^[SХΤŞ]/],
relation[type="associatedStreet"][name=~/^[SХΤŞ]/] > area["addr:housenumber"]
{ 
        fill-color: #32cd32; 
        color: #32cd32;
        text-halo-color: #32cd32;
}
node["addr:street"=~/^[SХΤŞ]/]::halo,
relation[type="associatedStreet"][name=~/^[SХΤŞ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #32cd32; 
        text-halo-color: #32cd32; 
}
way["highway"]["name"=~/^[SХΤŞ]/] 
{
        color: #32cd32; 
        text-halo-color: #32cd32; 
}
                
area["addr:street"=~/^[TЦΥ]/],
relation[type="associatedStreet"][name=~/^[TЦΥ]/] > area["addr:housenumber"]
{ 
        fill-color: #ba55d3; 
        color: #ba55d3;
        text-halo-color: #ba55d3;
}
node["addr:street"=~/^[TЦΥ]/]::halo,
relation[type="associatedStreet"][name=~/^[TЦΥ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #ba55d3; 
        text-halo-color: #ba55d3; 
}
way["highway"]["name"=~/^[TЦΥ]/] 
{
        color: #ba55d3; 
        text-halo-color: #ba55d3; 
}
                
area["addr:street"=~/^[UЧ]/],
relation[type="associatedStreet"][name=~/^[UЧ]/] > area["addr:housenumber"]
{ 
        fill-color: #9370db; 
        color: #9370db;
        text-halo-color: #9370db;
}
node["addr:street"=~/^[UЧ]/]::halo,
relation[type="associatedStreet"][name=~/^[UЧ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #9370db; 
        text-halo-color: #9370db; 
}
way["highway"]["name"=~/^[UЧ]/] 
{
        color: #9370db; 
        text-halo-color: #9370db; 
}
                
area["addr:street"=~/^[Ü5ШЩΦÚÙÛ]/],
relation[type="associatedStreet"][name=~/^[Ü5ШЩΦÚÙÛ]/] > area["addr:housenumber"]
{ 
        fill-color: #ff7c00; 
        color: #ff7c00;
        text-halo-color: #ff7c00;
}
node["addr:street"=~/^[Ü5ШЩΦÚÙÛ]/]::halo,
relation[type="associatedStreet"][name=~/^[Ü5ШЩΦÚÙÛ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #ff7c00; 
        text-halo-color: #ff7c00; 
}
way["highway"]["name"=~/^[Ü5ШЩΦÚÙÛ]/] 
{
        color: #ff7c00; 
        text-halo-color: #ff7c00; 
}

area["addr:street"=~/^[V6Ы]/],
relation[type="associatedStreet"][name=~/^[V6Ы]/] > area["addr:housenumber"]
{ 
        fill-color: #3cb371; 
        color: #3cb371;
        text-halo-color: #3cb371;
}
node["addr:street"=~/^[V6Ы]/]::halo,
relation[type="associatedStreet"][name=~/^[V6Ы]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #3cb371; 
        text-halo-color: #3cb371; 
}
way["highway"]["name"=~/^[V6Ы]/] 
{
        color: #3cb371; 
        text-halo-color: #3cb371; 
}
                
area["addr:street"=~/^[W7ЬΧ]/],
relation[type="associatedStreet"][name=~/^[W7ЬΧ]/] > area["addr:housenumber"]
{ 
        fill-color: #808000; 
        color: #808000;
        text-halo-color: #808000;
}
node["addr:street"=~/^[W7ЬΧ]/]::halo,
relation[type="associatedStreet"][name=~/^[W7ЬΧ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #808000; 
        text-halo-color: #808000; 

}
way["highway"]["name"=~/^[W7ЬΧ]/] 
{
        color: #808000; 
        text-halo-color: #808000; 
}
        
area["addr:street"=~/^[X8ЭФΨ]/],
relation[type="associatedStreet"][name=~/^[X8ЭФΨ]/] > area["addr:housenumber"]
{ 
        fill-color: #7cfc00 ; 
        color: #7cfc00 ;
        text-halo-color: #7cfc00;
}
node["addr:street"=~/^[X8ЭФΨ]/]::halo,
relation[type="associatedStreet"][name=~/^[X8ЭФΨ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #7cfc00; 
        text-halo-color: #7cfc00; 
        
}
way["highway"]["name"=~/^[X8ЭФΨ]/] 
{
        color: #7cfc00; 
        text-halo-color: #7cfc00; 
}
                
area["addr:street"=~/^[Y9ЮЪΩ]/],
relation[type="associatedStreet"][name=~/^[Y9ЮЪΩ]/] > area["addr:housenumber"]
{ 
        fill-color: #6b8e23; 
        color: #6b8e23;
        text-halo-color: #6b8e23;
}
node["addr:street"=~/^[Y9ЮЪΩ]/]::halo,
relation[type="associatedStreet"][name=~/^[Y9ЮЪΩ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #6b8e23; 
        text-halo-color: #6b8e23; 
}
way["highway"]["name"=~/^[Y9ЮЪΩ]/] 
{
        color: #6b8e23; 
        text-halo-color: #6b8e23; 
}
                
area["addr:street"=~/^[Z0ЯŽ]/],
relation[type="associatedStreet"][name=~/^[Z0ЯŽ]/] > area["addr:housenumber"]
{ 
        fill-color: #ff4444; 
        color: #ff4444;
        text-halo-color: #ff4444;
}
node["addr:street"=~/^[Z0ЯŽ]/]::halo,
relation[type="associatedStreet"][name=~/^[Z0ЯŽ]/] > node["addr:housenumber"]::halo
{
        symbol-fill-color: #ff4444;
        text-halo-color: #ff4444; 
}
way["highway"]["name"=~/^[Z0ЯŽ]/] 
{
        color: #ff4444; 
        text-halo-color: #ff4444; 
}
        

/* have housenumber, miss street */
node[addr:housenumber][!addr:street],
area[addr:housenumber][!addr:street]
{
        isinassociatedstreetrelation: eval(cond(parent_tag(type)="associatedStreet",true,false));
}
area[addr:housenumber][!addr:street][prop(isinassociatedstreetrelation)=false]
{ 
        text: eval(cond(has_tag_key(name), concat("street? ", tag("addr:housenumber"), " | ", tag("name")),concat("street? ", tag("addr:housenumber"))));
        text-halo-color: red; 
        text-halo-radius: 2;
        text-halo-opacity: 0.8;
        width: 2; 
        fill-color: #FF0000;  
        fill-opacity:0.7; 
        text-color: #000000; 
        font-size: 10;
        casing-width: 1; 
        casing-color: #FFFF00;
        
}
node[addr:housenumber][!addr:street][prop(isinassociatedstreetrelation)=false]::halo 
{ 
        text: eval(concat("street? ", tag("addr:housenumber")));
        font-size: 12;
        text-color: black;
        text-halo-color: red; 
        text-halo-radius: 2;
        text-halo-opacity: 0.8;
        text-anchor-vertical: center;
        symbol-shape: triangle;
        symbol-fill-opacity:0.7;
        symbol-fill-color: #FF0000;
        symbol-size: 30;
        symbol-stroke-color: #FFFF00;
        z-index: -1;    
}

/* have street, miss housenumber */
area[addr:street][!addr:housenumber][!highway] 
{ 
        width: 3; 
        text-halo-radius: 2;
        fill-color: #FF0000;  
        fill-opacity:0.7; 
        text: eval(cond(has_tag_key(name), concat("number? | ", tag("name")), "number?"));
        text-position: center;
        text-color: #000000; 
        font-size: 12;
        casing-width: 1; 
        casing-color: #FFFF00;  
}
node["addr:street"][!"addr:housenumber"]::halo 
{ 
        text: eval("number?");
        text-color: black;
        font-size: 12;
        symbol-shape: triangle;
        symbol-fill-opacity:0.7;
        symbol-fill-color: #FF0000;
        symbol-size: 30;
        symbol-stroke-color: #FFFF00;
        z-index: -1;    
}

/* have street, have addr is not correct */
way["highway"]["addr:country"], 
way["highway"]["addr:postcode"], 
way["highway"]["addr:city"], 
way["highway"]["addr:street"], 
way["highway"]["addr:housenumber"]
{
        text: eval("no addr!");
        color: red;
        width: 5; 
        dashes: 20,4;
        dashes-background-color: #FFFF00;
        object-z-index:-1.0;
        text-halo-color: red; 
        text-halo-radius: 2; 
}
        
/* names of nodes */
node["addr:housenumber"] 
{
        font-size: 10;
        text-color: white;
        text-anchor-vertical: center;
        text-offset-y: -10;
        text-offset-x: 8;
}

/* disable double numbers */
node["addr:housenumber"][!name]
{
        font-size: 0;
} 

/* names for adress nodes without number */
node[!"addr:housenumber"][name][addr:street]
{
        font-size: 10;
        text-color: white;
        text-anchor-vertical: center;
        text-offset-y: -10;
        text-offset-x: 8;
} 

/* text style of areas with number */
way:closed["addr:housenumber"],
relation[type=multipolygon]["addr:housenumber"],
relation[type="associatedStreet"] > area["addr:housenumber"]
{
        text-color: black; 
        font-size: 12;
        text-position: center;

}

/* text style of highways and false addr */

way[highway]
{
        text-color: black; 
        font-size: 12;
}
        
/* higway=residential without name */   
way[highway=residential][!name]
{
        color: #FF0000; 
        width: 5;
        font-size: 12; 
        text-color: #000000; 
        text-position: line; 
        text: eval("no name!"); 
        text-offset: 0; 
        text-halo-color: #FF0000; 
        text-halo-radius: 2;
        dashes: 20,4;
        dashes-background-color: #FFFF00;
        
}
/* tone down garages and other "small" buildings, as they usually do not have addr:*=* tags. */

area[building=bunker][!"addr:housenumber"][!"addr:street"],
area[building=cabin][!"addr:housenumber"][!"addr:street"],
area[building=farm_auxiliary][!"addr:housenumber"][!"addr:street"],
area[building=garage][!"addr:housenumber"][!"addr:street"],
area[building=garages][!"addr:housenumber"][!"addr:street"],
area[building=hut][!"addr:housenumber"][!"addr:street"],
area[building=roof][!"addr:housenumber"][!"addr:street"],
area[building=shed][!"addr:housenumber"][!"addr:street"]
{
        fill-color: #ffddf1; 
        width: 1;
}

Styles_Coloured_Streets-style.mapcss, Styles_Coloured_Streets.zip

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.