| Version 30 (modified by , 12 years ago) ( diff ) |
|---|
[[Image(...)]] Coloured Streets
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 street name are highlighted in the same colour. Thereby you can quickly recognize, which house belongs to which street. It analyzes for streets the key "name" and for addresses the key "addr:street" resp. for associatedStreet relations for the housenumber the key "name" of the relation. Furthermore it indicates missing or incorrect data. If there is addr:street but no addr:nousenumber then it shows "number?". If addr:street is missing then it shows "street?". If addr:housenumber is missing it shows "number?". 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.
Coloured Streets uses 33 specially selected colours, which are used on average equally often. In individual cases the same colour of adjacent streets may still occur. This is because of the limited number of clearly distinguishable colours and can not be completely eliminated.
There are 2 options for customizing the mappaint style. For this purpose, for each option a colour in the preferences menu of JOSM need to get changed (menu:edit -> preferences -> Display Settings -> Colors). White means "yes", black means "no". After the change a JOSM restart is required.
- If you want to allow "addr:postcode=*" on streets (and don't want to see a warning message for these cases), then you change the colour "Paint style Coloured Streets: boolean.allow.postcode.on.highway" to white (default is black = not allow = warning is displayed).
- If you want that name:prefix and name:suffix for names of streets and associatedStreet relations are taken into account, then you change the colour "Paint style Coloured Streets: boolean.support.prefix.and.suffix.on.highway.names" to white (default is black = are not taken into account = only the key "name" is analyzed). At least in parts of the USA and of Greece names of streets are devided into these components. By activating this option you can get better results with Coloured Streets in these areas.
Other useful tools for address mapping: Coloured_Postcode, Coloured_Suburb, HousenumberValidator, OSM Inspector, ITO maps, Roof modelling.
For the Coloured Streets mappaint style JOSM version 9609 or newer is required. For ideas/questions/bugs/suggestions or similar please write a message to geozeisig and/or Klumbumbus.
Example of Coloured Streets:
(data used for image ©OpenStreetMap contributors)
For comparison, here is a part of my "test center".
JOSM default internal style compared to Coloured Streets 3.0:
(This picture was created with a modified version of Coloured Streets to ensure that all colours show up top.)
Changelog
Version 2.0.xx to 3.0.xx
- Instead of analyzing the first letter of the street name for colour choice, now a crc32-hashcode is generated and based on this the colours are choosen. This results in the following listed advantages. Special thanks at this point to the development team of JOSM, which special for this mappaint style implemented a new function. Without this new function the following improvements wouldn't be possible.
- Different streets with the same first letter, which are near to each other are now displayed in different colours.
- Typos somewhere in the street name are displayed with a different colour.
- It works now worldwide, also in countries, where a lot of streets start and end with the same letter.
- It works now for all unicode characters automatically and not every single unicode character needs to added manually to the mappaint style code.
- The former alternative version of Coloured Streets (which analyzed the last letter) is now superfluous.
- An option is implemented, which sets wether the warning message "no addr!" on streets with addr:postcode=* is displayed (default is: warning message is displayed).
- An option is implemented, which sets wether name:prefix and name:suffix for the colour choice of names of streets an associatedStreet relations are taken into account (default is: name:prefix and name:suffix are not taken into account).
- highway=pedestrian which are tagged as area (closed way with area=yes, or multipolygon) are now displayed with the correct color and fill-color and with the name in the center (instead of on the outline). name:prefix and name:suffix are also supported if it is enabled in the options.
- addr:place is now also supported. It is handled equal to addr:street. That means addresses with addr:housenumber and addr:place are displayed like those with addr:housenumber and addr:street. The missing street warning message (street?) is not displayed, if there is addr:place.
- A warning is now displayed if a line with addr:interpolation=* has other addr:*=* tags ("addr:interpolation shouldn't have other addr:*=* tags!")
- highway=platform is no longer coloured like streets, because it doesn't belong to addresses
- The colour #7cfc00 (former for X) was deleted, because it was to similar to #adff2f (former for M)
- There are 4 new colours:
- #b88142
- #a3fe8f
- #b8674c
- #fcff5c
- The following colours slightly changed for better distinction with other colors:
- #ffd700 (former for K) changed to #ffe400
- #824b00 (former for P) changed to #824600
- #808000 (former for W) changed to #707000
- Transparencies of the fill colours of landuses are increased to improve the display of all the different address colours.
- The fill colour of place=* is now disabled to improve the display of all the different address colours.
- The display of the warning message "street?" for areas is minimal improved
- Some code optimizations
Version 1.011 to 2.0.xx
- 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)
- 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
- 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. (It does only tone down if there is in fact no addr:street=* and no addr:housenumber=* tag.) In detail this applies to 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.
- Coloured Streets has now an icon, which can be placed in the toolbar for fast on/off switch.
- 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
Coloured Streets (deutsch)
Beschreibung
Der Mappaint-Stil "Coloured Streets" erleichtert die Arbeit mit Adressen.
Straßen, Häuser und Adressnodes mit gleichem Straßenname werden mit der gleichen Farbe hinterlegt. Dadurch kann auf einen Blick erkannt werden, welches Haus zu welcher Straße gehört. Ausgewertet werden dabei bei Straßen der Schlüssel "name" und bei Adressen der Schlüssel "addr:street" bzw. bei associatedStreet-Relationen für die Hausnummern der Schlüssel "name" der Relation. Weiterhin wird auf fehlende oder fehlerhafte Daten hingewiesen. Fehlt addr:housenumber, so wird "number?" ausgegeben. Fehlt 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 Mappaint-Stil Unaufdringlichere Nodes.
Coloured Streets verwendet 33 speziell ausgewählte Farben, welche durchschnittlich gleich oft verwendet werden. In Einzelfällen kann es trotzdem zur gleichen Farbe von benachbarten Straßen kommen. Dies liegt in der begrenzten Anzahl an eindeutig unterscheidbaren Farben begründet und lässt sich nicht völlig ausschließen.
Es gibt 2 Einstellungen, mit denen, man den Mappaint-Stil anpassen kann. Dazu muss jeweils eine Farbe im Einstellungsmenü von JOSM angepasst werden. (Menü:Bearbeiten -> Einstellungen -> Anzeigeeinstellungen -> Farben). Weiß bedeutet "Ja", schwarz bedeutet "Nein". Nach einer Änderung ist ein JOSM Neustart notwendig.
- Möchte man "addr:postcode=*" an Straßen erlauben (und für diese Fälle keine Warnmeldung sehen), so stellt man die Farbe "Zeichenstil Coloured Streets: boolean.allow.postcode.on.highway" auf weiß (standard ist schwarz = nicht erlauben = Warnung wird angezeigt).
- Möchte man, dass name:prefix und name:suffix für Namen von Straßen und associatedStreet-Relationen berücksichtigt werden, so stellt man die Farbe "Zeichenstil Coloured Streets: boolean.support.prefix.and.suffix.on.highway.names" auf weiß (standard ist schwarz = wird nicht berücksichtigt = nur der Schlüssel "name" wird ausgewertet). Zumindest in Teilen der USA und von Griechenland werden Namen von Straßen in diese Bestandteile aufgeteilt. Durch Aktivierung dieser Option kann man so in diesen Gebieten bessere Ergebnisse mit Coloured Streets erzielen.
Weitere hilfreiche Tools für das Mappen von Adressen: Coloured_Postcode, Coloured_Suburb, HousenumberValidator, OSM Inspector, ITO maps, Roof modelling.
Für den Coloured Streets Mappaint Stil ist JOSM Version 6909 oder neuer erforderlich. Bei Anregungen/Fragen/Bugs/Vorschlägen o.ä. bitte eine Nachricht an geozeisig und/oder Klumbumbus.
Beispiel von Coloured Streets:
(Daten, welche für das Bild verwendet wurden ©OpenStreetMap contributors)
Zum Vergleich hier ein Ausschnit meines "Testcenters".
JOSM standard interner Stil verglichen mit Coloured Streets 3.0
(Dieses Bild wurde mit einer veränderten Version von Coloured Streets erstellt, um sicherzustellen, dass oben alle Farben gezeigt werden.)
Changelog
Version 2.0.xx zu 3.0.xx
- Anstelle des ersten Buchstabens des Straßennamens für die Farbwahl auszuwerten wird nun ein crc32-Hashcode des Straßennamens berechnet und anhand dessen die Farbwahl getroffen. Dies führt zu den nachfolgend aufgelisteten Vorteilen. Besonderer Dank gilt hier dem Entwicklerteam von JOSM, die extra für diesen Mappaint-Stil eine neue Funktion in JOSM implementiert haben. Ohne diese neue Funktion wären die nachfolgenden Verbesserungen nicht möglich gewesen.
- Nebeneinanderliegende Straßennamen mit selbem Anfangsbuchstabe werden nun auch in verschiedenen Farben dargestellt
- Rechschreibfehler irgendwo innerhalb des Straßennamens werden duch eine andere Farbe angezeigt
- Coloured Streets funktioniert nun weltweit, auch in Ländern, wo viele Straßennamen mit gleichem Buchstabe beginnen und enden
- Es werden damit automatisch alle Unicodezeichen unterstützt und es muss nicht mehr jedes einzelne Unicodezeichen separat dem Mappaint-Stil hinzugefügt werden
- Die ehemalige alternative Version von Coloured Streets (welche den letzten Buchstaben auswertete) ist damit überflüssig
- Es wurde eine Option eingefügt, mit der man einstellen kann, ob die Warnmeldung "no addr!" an Straßen mit addr:postcode angezeigt wird (Standard ist: Warnmeldung wird angezeigt).
- Es wurde eine Option eingefügt, mit der man einstellen kann, ob name:prefix und name:suffix bei der Farbwahl von Namen von Straßen und associatedStreet-Relationen berücksichtigt werden (Standard ist: name:prefix und name:suffix werden nicht berücksichtigt).
- highway=pedestrian, welche als Fläche eingetragen sind (geschlossene Linie mit area=yes, oder Multipolygon) werden jetzt in der richtigen Farbe und Füllfarbe und mit dem Namen in der Mitte (anstatt auf der Umrisslinie) angezeigt. name:prefix und name:suffix werden ebenfalls unterstützt, falls es in den Optionen aktiviert ist.
- addr:place wird jetzt ebenfalls unterstützt. Es wird genauso wie addr:street gehandhabt. Das bedeutet Adressen mit addr:housenumber und addr:place werden angezeigt wie solche mit addr:housenumber und addr:street. Die fehlende-Straße-Warnmeldung (street?) wird nicht angezeigt, wenn addr:place vorhanden ist.
- Es wird nun eine Warnmeldung ausgegeben, wenn ein Linie mit addr:interpolation=* weitere addr:*=* enthält ("addr:interpolation shouldn't have other addr:*=* tags!")
- highway=platform wird nicht mehr wie Straßen eingefärbt, da es nicht zu Adressen gehört
- Die Farbe #7cfc00 (ehemals für X) wurde entfernt, da sie zu ähnlich mit #adff2f (ehemals für M) war
- Es gibt 4 neue Farben:
- #b88142
- #a3fe8f
- #b8674c
- #fcff5c
- Die folgenden Farben wurden geringfügig geändert zur besseren Unterscheidung mit anderen Farben:
- #ffd700 (ehemals für K) geändert zu #ffe400
- #824b00 (ehemals für P) geändert zu #824600
- #808000 (ehemals für W) geändert zu #707000
- Die Transparenzen der Füllfarben von landuses wurden erhöht für eine bessere Darstellung der verschiedenen Adress-Farben.
- Die Füllfarbe von place=* ist jetzt deaktiviert für eine bessere Darstellung der verschiedenen Adress-Farben.
- Die Darstellung der Warnmeldung "street?" bei Flächen wurde minimal verbessert
- Ein paar Code-Optimierungen
Version 1.011 zu 2.0.xx
- 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)
- 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
- 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 gilt nur, wenn tatsächlich kein addr:street und keine addr:housenumber=* tag vorhanden ist.) 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.
- Coloured Streets hat jetzt ein Icon, welches in der Werkzeugleiste platziert werden kann, um den Stil schnell ein- und auszuschalten.
- 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
Code
meta { title: "Coloured Streets"; version: "3.0.127_2021-04-10"; description: "Colouring of streets, buildings and address nodes with the same street name in the same colour. Works now worldwide! Check out http://josm.openstreetmap.de/wiki/Styles/Coloured_Streets to read how to change the settings of this mappaint style (allow postcode on street, support of name:prefix and name:suffix). Min. JOSM version is 6909."; 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; min-josm-version: "6909"; /* This mapcss mappaint style was created for JOSM 6909. I try to support future versions of JOSM as long as possible. */ } meta[lang=de] { title: "Coloured Streets"; description: "Einfärben von Straßen, Gebäuden und Adressnodes mit gleichem Straßennamen in der gleichen Farbe. Schau dir http://josm.openstreetmap.de/wiki/Styles/Coloured_Streets an, um zu lesen, wie man die Einstellungen dieses mappaint styles ändert (postcode an Straßen erlauben, Berücksichtigung von name:prefix und name:suffix) Min. JOSM-Version ist 6909."; } /* create "settings" with boolean properties style_... */ * { allow_postcode_on_highway: Boolean_allow_postcode_on_highway#000000; style_allow_postcode_on_highway: eval(red(prop(allow_postcode_on_highway)))=1; /* default colour is black, that means postcodes on highways are not allowed, that means style_allow_postcode_on_highway=false */ } * { support_prefix_and_suffix_on_highway_names: Boolean_support_prefix_and_suffix_on_highway_names#000000; style_support_prefix_and_suffix_on_highway_names: eval(red(prop(support_prefix_and_suffix_on_highway_names)))=1; /* default colour is black, that means prefix and suffix is not supported, that means style_support_prefix_and_suffix_on_highway_names=false */ } /* create crc32checksum */ /* streets and pedestrian areas */ way[highway][name][highway!="platform"][!prop(style_support_prefix_and_suffix_on_highway_names)], way[highway][name][highway!="platform"][prop(style_support_prefix_and_suffix_on_highway_names)][!name:prefix][!name:suffix], area[highway="pedestrian"][name][!prop(style_support_prefix_and_suffix_on_highway_names)]:closed, area[highway="pedestrian"][name][prop(style_support_prefix_and_suffix_on_highway_names)][!name:prefix][!name:suffix]:closed { crc: CRC32_checksum(tag(name))/429496.7296; } way[highway][name][highway!="platform"][prop(style_support_prefix_and_suffix_on_highway_names)][name:prefix][!name:suffix], area[highway="pedestrian"][name][prop(style_support_prefix_and_suffix_on_highway_names)][name:prefix][!name:suffix]:closed { crc: CRC32_checksum(concat(tag("name:prefix"), " ", tag("name")))/429496.7296; } way[highway][name][highway!="platform"][prop(style_support_prefix_and_suffix_on_highway_names)][!name:prefix][name:suffix], area[highway="pedestrian"][name][prop(style_support_prefix_and_suffix_on_highway_names)][!name:prefix][name:suffix]:closed { crc: CRC32_checksum(concat(tag("name"), " ", tag("name:suffix")))/429496.7296; } way[highway][name][highway!="platform"][prop(style_support_prefix_and_suffix_on_highway_names)][name:prefix][name:suffix], area[highway="pedestrian"][name][prop(style_support_prefix_and_suffix_on_highway_names)][name:prefix][name:suffix]:closed { crc: CRC32_checksum(concat(tag("name:prefix"), " ", tag("name"), " ", tag("name:suffix")))/429496.7296; } /* associated street relations */ relation[type="associatedStreet"][name] > area["addr:housenumber"][!prop(style_support_prefix_and_suffix_on_highway_names)], relation[type="associatedStreet"][name] > node["addr:housenumber"][!prop(style_support_prefix_and_suffix_on_highway_names)]::halo, relation[type="associatedStreet"][name][!name:prefix][!name:suffix] > area["addr:housenumber"][prop(style_support_prefix_and_suffix_on_highway_names)], relation[type="associatedStreet"][name][!name:prefix][!name:suffix] > node["addr:housenumber"][prop(style_support_prefix_and_suffix_on_highway_names)]::halo { crc: CRC32_checksum(parent_tag("name"))/429496.7296; } relation[type="associatedStreet"][name][name:prefix][!name:suffix] > area["addr:housenumber"][prop(style_support_prefix_and_suffix_on_highway_names)], relation[type="associatedStreet"][name][name:prefix][!name:suffix] > node["addr:housenumber"][prop(style_support_prefix_and_suffix_on_highway_names)]::halo { crc: CRC32_checksum(concat(parent_tag("name:prefix"), " ", parent_tag("name")))/429496.7296; } relation[type="associatedStreet"][name][!name:prefix][name:suffix] > area["addr:housenumber"][prop(style_support_prefix_and_suffix_on_highway_names)], relation[type="associatedStreet"][name][!name:prefix][name:suffix] > node["addr:housenumber"][prop(style_support_prefix_and_suffix_on_highway_names)]::halo { crc: CRC32_checksum(concat(parent_tag("name"), " ", parent_tag("name:suffix")))/429496.7296; } relation[type="associatedStreet"][name][name:prefix][name:suffix] > area["addr:housenumber"][prop(style_support_prefix_and_suffix_on_highway_names)], relation[type="associatedStreet"][name][name:prefix][name:suffix] > node["addr:housenumber"][prop(style_support_prefix_and_suffix_on_highway_names)]::halo { crc: CRC32_checksum(concat(parent_tag("name:prefix"), " ", parent_tag("name"), " ", parent_tag("name:suffix")))/429496.7296; } /* everything else */ *["addr:place"] { crc: CRC32_checksum(tag("addr:place"))/429496.7296; } *["addr:place"]::halo { crc: CRC32_checksum(tag("addr:place"))/429496.7296; } *["addr:street"] { crc: CRC32_checksum(tag("addr:street"))/429496.7296; } *["addr:street"]::halo { crc: CRC32_checksum(tag("addr:street"))/429496.7296; } /* ------------------------------------------------------------------------------------------------------------------------ */ /* tone down landuse fill-color */ area[landuse] { fill-opacity: 0.12; } /* disable place fill-color */ area[place] { fill-opacity: 0; } /* tone down garages and other "small" buildings, as they usually do not have addr:*=* tags. */ area[building=bunker][!"addr:housenumber"][!"addr:street"][!"addr:place"], area[building=cabin][!"addr:housenumber"][!"addr:street"][!"addr:place"], area[building=farm_auxiliary][!"addr:housenumber"][!"addr:street"][!"addr:place"], area[building=garage][!"addr:housenumber"][!"addr:street"][!"addr:place"], area[building=garages][!"addr:housenumber"][!"addr:street"][!"addr:place"], area[building=hut][!"addr:housenumber"][!"addr:street"][!"addr:place"], area[building=roof][!"addr:housenumber"][!"addr:street"][!"addr:place"], area[building=shed][!"addr:housenumber"][!"addr:street"][!"addr:place"] { fill-color: #ffddf1; width: 1; } /* ------------------------------------------------------------------------------------------------------------------------ */ /* highlight address areas, address nodes and streets */ /* all rules, which apply to all colors and different rules for different zoom */ /* address areas */ area|z18-["addr:street"], area|z18-["addr:place"], relation[type="associatedStreet"] > area|z18-["addr:housenumber"] { width: 3; fill-opacity:0.2; text-halo-radius: 3; text: eval(cond(has_tag_key(name), concat(tag("addr:housenumber"), " | ", tag("name")), tag("addr:housenumber"))); } area|z-17["addr:street"], area|z-17["addr:place"], relation[type="associatedStreet"] > area|z-17["addr:housenumber"] { width: 3; fill-opacity:0.2; text: ; } /* address nodes */ node|z18-["addr:street"]::halo, node|z18-["addr:place"]::halo, relation[type="associatedStreet"] > node|z18-["addr:housenumber"]::halo { 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-radius: 2; text-halo-opacity: 0.8; } node|z-17["addr:street"]::halo, node|z-17["addr:place"]::halo, relation[type="associatedStreet"] > node|z-17["addr:housenumber"]::halo { 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-radius: 2; text-halo-opacity: 0.8; } /* streets */ way|z18-["highway"]["name"][highway!="platform"] { width: 3; font-size: 12; text-color: #000000; text-position: line; text: eval(tag("name")); text-offset: 0; text-halo-radius: 2; } way|z-17["highway"]["name"][highway!="platform"] { width: 3; text: ; } /* pedestrian as area */ area|z18-["name"][highway=pedestrian]:closed { width: 3; font-size: 12; text-color: #000000; text-position: center; text: eval(tag("name")); text-halo-radius: 2; /* fill-color is needed to set it as "area style" to display the names for pedestrian multipolygons correctly. fill-color is set later in the different colors. */ fill-opacity: 0.2; } area|z-17["name"][highway=pedestrian]:closed { width: 3; text: ; text-halo-radius: 2; /* fill-color is needed to set it as "area style" to display the names for pedestrian multipolygons correctly. fill-color is set later in the different colors. */ fill-opacity: 0.2; } /* display pedestrian areas (not multipolygons) without area=yes as line and not as area */ way["highway"="pedestrian"][name][area!=yes] { text-position: line; fill-opacity: 0; } /* 33 different special selected colors */ area["addr:street"][prop(crc)<303], area["addr:place"][prop(crc)<303], relation[type="associatedStreet"][prop(crc)<303] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)<303]:closed { color: #ffffff; /* Default value for color is fill-color. Color needs to set nevertheless that pedestrian area multipolygons and areas with "number?" are displayed correctly. */ fill-color: #ffffff; text-halo-color: #ffffff; } node["addr:street"][prop(crc)<303]::halo, node["addr:place"][prop(crc)<303]::halo, relation[type="associatedStreet"][prop(crc)<303] > node["addr:housenumber"]::halo { symbol-fill-color: #ffffff; text-halo-color: #ffffff; } way["highway"]["name"][prop(crc)<303] { color: #ffffff; text-halo-color: #ffffff; } /* --------- */ area["addr:street"][prop(crc)>=303][prop(crc)<606], area["addr:place"][prop(crc)>=303][prop(crc)<606], relation[type="associatedStreet"][prop(crc)>=303][prop(crc)<606] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=303][prop(crc)<606]:closed { color: #b88142; fill-color: #b88142; text-halo-color: #b88142; } node["addr:street"][prop(crc)>=303][prop(crc)<606]::halo, node["addr:place"][prop(crc)>=303][prop(crc)<606]::halo, relation[type="associatedStreet"][prop(crc)>=303][prop(crc)<606] > node["addr:housenumber"]::halo { symbol-fill-color: #b88142; text-halo-color: #b88142; } way["highway"]["name"][prop(crc)>=303][prop(crc)<606] { color: #b88142; text-halo-color: #b88142; } /* --------- */ area["addr:street"][prop(crc)>=606][prop(crc)<909], area["addr:place"][prop(crc)>=606][prop(crc)<909], relation[type="associatedStreet"][prop(crc)>=606][prop(crc)<909] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=606][prop(crc)<909]:closed { color: #a3fe8f; fill-color: #a3fe8f; text-halo-color: #a3fe8f; } node["addr:street"][prop(crc)>=606][prop(crc)<909]::halo, node["addr:place"][prop(crc)>=606][prop(crc)<909]::halo, relation[type="associatedStreet"][prop(crc)>=606][prop(crc)<909] > node["addr:housenumber"]::halo { symbol-fill-color: #a3fe8f; text-halo-color: #a3fe8f; } way["highway"]["name"][prop(crc)>=606][prop(crc)<909] { color: #a3fe8f; text-halo-color: #a3fe8f; } /* --------- */ area["addr:street"][prop(crc)>=909][prop(crc)<1212], area["addr:place"][prop(crc)>=909][prop(crc)<1212], relation[type="associatedStreet"][prop(crc)>=909][prop(crc)<1212] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=909][prop(crc)<1212]:closed { color: #b8674c; fill-color: #b8674c; text-halo-color: #b8674c; } node["addr:street"][prop(crc)>=909][prop(crc)<1212]::halo, node["addr:place"][prop(crc)>=909][prop(crc)<1212]::halo, relation[type="associatedStreet"][prop(crc)>=909][prop(crc)<1212] > node["addr:housenumber"]::halo { symbol-fill-color: #b8674c; text-halo-color: #b8674c; } way["highway"]["name"][prop(crc)>=909][prop(crc)<1212] { color: #b8674c; text-halo-color: #b8674c; } /* --------- */ area["addr:street"][prop(crc)>=1212][prop(crc)<1515], area["addr:place"][prop(crc)>=1212][prop(crc)<1515], relation[type="associatedStreet"][prop(crc)>=1212][prop(crc)<1515] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=1212][prop(crc)<1515]:closed { color: #fcff5c; fill-color: #fcff5c; text-halo-color: #fcff5c; } node["addr:street"][prop(crc)>=1212][prop(crc)<1515]::halo, node["addr:place"][prop(crc)>=1212][prop(crc)<1515]::halo, relation[type="associatedStreet"][prop(crc)>=1212][prop(crc)<1515] > node["addr:housenumber"]::halo { symbol-fill-color: #fcff5c; text-halo-color: #fcff5c; } way["highway"]["name"][prop(crc)>=1212][prop(crc)<1515] { color: #fcff5c; text-halo-color: #fcff5c; } /* --------- */ area["addr:street"][prop(crc)>=1515][prop(crc)<1818], area["addr:place"][prop(crc)>=1515][prop(crc)<1818], relation[type="associatedStreet"][prop(crc)>=1515][prop(crc)<1818] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=1515][prop(crc)<1818]:closed { color: #81c0ff; fill-color: #81c0ff; text-halo-color: #81c0ff; } node["addr:street"][prop(crc)>=1515][prop(crc)<1818]::halo, node["addr:place"][prop(crc)>=1515][prop(crc)<1818]::halo, relation[type="associatedStreet"][prop(crc)>=1515][prop(crc)<1818] > node["addr:housenumber"]::halo { symbol-fill-color: #81c0ff; text-halo-color: #81c0ff; } way["highway"]["name"][prop(crc)>=1515][prop(crc)<1818] { color: #81c0ff; text-halo-color: #81c0ff; } /* --------- */ area["addr:street"][prop(crc)>=1818][prop(crc)<2121], area["addr:place"][prop(crc)>=1818][prop(crc)<2121], relation[type="associatedStreet"][prop(crc)>=1818][prop(crc)<2121] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=1818][prop(crc)<2121]:closed { color: #6b8e23; fill-color: #6b8e23; text-halo-color: #6b8e23; } node["addr:street"][prop(crc)>=1818][prop(crc)<2121]::halo, node["addr:place"][prop(crc)>=1818][prop(crc)<2121]::halo, relation[type="associatedStreet"][prop(crc)>=1818][prop(crc)<2121] > node["addr:housenumber"]::halo { symbol-fill-color: #6b8e23; text-halo-color: #6b8e23; } way["highway"]["name"][prop(crc)>=1818][prop(crc)<2121] { color: #6b8e23; text-halo-color: #6b8e23; } /* --------- */ area["addr:street"][prop(crc)>=2121][prop(crc)<2424], area["addr:place"][prop(crc)>=2121][prop(crc)<2424], relation[type="associatedStreet"][prop(crc)>=2121][prop(crc)<2424] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=2121][prop(crc)<2424]:closed { color: #e1bd6a; fill-color: #e1bd6a; text-halo-color: #e1bd6a; } node["addr:street"][prop(crc)>=2121][prop(crc)<2424]::halo, node["addr:place"][prop(crc)>=2121][prop(crc)<2424]::halo, relation[type="associatedStreet"][prop(crc)>=2121][prop(crc)<2424] > node["addr:housenumber"]::halo { symbol-fill-color: #e1bd6a; text-halo-color: #e1bd6a; } way["highway"]["name"][prop(crc)>=2121][prop(crc)<2424] { color: #e1bd6a; text-halo-color: #e1bd6a; } /* --------- */ area["addr:street"][prop(crc)>=2424][prop(crc)<2727], area["addr:place"][prop(crc)>=2424][prop(crc)<2727], relation[type="associatedStreet"][prop(crc)>=2424][prop(crc)<2727] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=2424][prop(crc)<2727]:closed { color: #7fffd4; fill-color: #7fffd4; text-halo-color: #7fffd4; } node["addr:street"][prop(crc)>=2424][prop(crc)<2727]::halo, node["addr:place"][prop(crc)>=2424][prop(crc)<2727]::halo, relation[type="associatedStreet"][prop(crc)>=2424][prop(crc)<2727] > node["addr:housenumber"]::halo { symbol-fill-color: #7fffd4; text-halo-color: #7fffd4; } way["highway"]["name"][prop(crc)>=2424][prop(crc)<2727] { color: #7fffd4; text-halo-color: #7fffd4; } /* --------- */ area["addr:street"][prop(crc)>=2727][prop(crc)<3030], area["addr:place"][prop(crc)>=2727][prop(crc)<3030], relation[type="associatedStreet"][prop(crc)>=2727][prop(crc)<3030] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=2727][prop(crc)<3030]:closed { color: #8a2be2; fill-color: #8a2be2; text-halo-color: #8a2be2; } node["addr:street"][prop(crc)>=2727][prop(crc)<3030]::halo, node["addr:place"][prop(crc)>=2727][prop(crc)<3030]::halo, relation[type="associatedStreet"][prop(crc)>=2727][prop(crc)<3030] > node["addr:housenumber"]::halo { symbol-fill-color: #8a2be2; text-halo-color: #8a2be2; } way["highway"]["name"][prop(crc)>=2727][prop(crc)<3030] { color: #8a2be2; text-halo-color: #8a2be2; } /* --------- */ area["addr:street"][prop(crc)>=3030][prop(crc)<3333], area["addr:place"][prop(crc)>=3030][prop(crc)<3333], relation[type="associatedStreet"][prop(crc)>=3030][prop(crc)<3333] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=3030][prop(crc)<3333]:closed { color: #a52a2a; fill-color: #a52a2a; text-halo-color: #a52a2a; } node["addr:street"][prop(crc)>=3030][prop(crc)<3333]::halo, node["addr:place"][prop(crc)>=3030][prop(crc)<3333]::halo, relation[type="associatedStreet"][prop(crc)>=3030][prop(crc)<3333] > node["addr:housenumber"]::halo { symbol-fill-color: #a52a2a; text-halo-color: #a52a2a; } way["highway"]["name"][prop(crc)>=3030][prop(crc)<3333] { color: #a52a2a; text-halo-color: #a52a2a; } /* --------- */ area["addr:street"][prop(crc)>=3333][prop(crc)<3636], area["addr:place"][prop(crc)>=3333][prop(crc)<3636], relation[type="associatedStreet"][prop(crc)>=3333][prop(crc)<3636] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=3333][prop(crc)<3636]:closed { color: #f0b9a6; fill-color: #f0b9a6; text-halo-color: #f0b9a6; } node["addr:street"][prop(crc)>=3333][prop(crc)<3636]::halo, node["addr:place"][prop(crc)>=3333][prop(crc)<3636]::halo, relation[type="associatedStreet"][prop(crc)>=3333][prop(crc)<3636] > node["addr:housenumber"]::halo { symbol-fill-color: #f0b9a6; text-halo-color: #f0b9a6; } way["highway"]["name"][prop(crc)>=3333][prop(crc)<3636] { color: #f0b9a6; text-halo-color: #f0b9a6; } /* --------- */ area["addr:street"][prop(crc)>=3636][prop(crc)<3939], area["addr:place"][prop(crc)>=3636][prop(crc)<3939], relation[type="associatedStreet"][prop(crc)>=3636][prop(crc)<3939] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=3636][prop(crc)<3939]:closed { color: #8fbc8f; fill-color: #8fbc8f; text-halo-color: #8fbc8f; } node["addr:street"][prop(crc)>=3636][prop(crc)<3939]::halo, node["addr:place"][prop(crc)>=3636][prop(crc)<3939]::halo, relation[type="associatedStreet"][prop(crc)>=3636][prop(crc)<3939] > node["addr:housenumber"]::halo { symbol-fill-color: #8fbc8f; text-halo-color: #8fbc8f; } way["highway"]["name"][prop(crc)>=3636][prop(crc)<3939] { color: #8fbc8f; text-halo-color: #8fbc8f; } /* --------- */ area["addr:street"][prop(crc)>=3939][prop(crc)<4242], area["addr:place"][prop(crc)>=3939][prop(crc)<4242], relation[type="associatedStreet"][prop(crc)>=3939][prop(crc)<4242] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=3939][prop(crc)<4242]:closed { color: #1b7777; fill-color: #1b7777; text-halo-color: #1b7777; } node["addr:street"][prop(crc)>=3939][prop(crc)<4242]::halo, node["addr:place"][prop(crc)>=3939][prop(crc)<4242]::halo, relation[type="associatedStreet"][prop(crc)>=3939][prop(crc)<4242] > node["addr:housenumber"]::halo { symbol-fill-color: #1b7777; text-halo-color: #1b7777; } way["highway"]["name"][prop(crc)>=3939][prop(crc)<4242] { color: #1b7777; text-halo-color: #1b7777; } /* --------- */ area["addr:street"][prop(crc)>=4242][prop(crc)<4545], area["addr:place"][prop(crc)>=4242][prop(crc)<4545], relation[type="associatedStreet"][prop(crc)>=4242][prop(crc)<4545] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=4242][prop(crc)<4545]:closed { color: #ff1493; fill-color: #ff1493; text-halo-color: #ff1493; } node["addr:street"][prop(crc)>=4242][prop(crc)<4545]::halo, node["addr:place"][prop(crc)>=4242][prop(crc)<4545]::halo, relation[type="associatedStreet"][prop(crc)>=4242][prop(crc)<4545] > node["addr:housenumber"]::halo { symbol-fill-color: #ff1493; text-halo-color: #ff1493; } way["highway"]["name"][prop(crc)>=4242][prop(crc)<4545] { color: #ff1493; text-halo-color: #ff1493; } /* --------- */ area["addr:street"][prop(crc)>=4545][prop(crc)<4848], area["addr:place"][prop(crc)>=4545][prop(crc)<4848], relation[type="associatedStreet"][prop(crc)>=4545][prop(crc)<4848] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=4545][prop(crc)<4848]:closed { color: #0072e2; fill-color: #0072e2; text-halo-color: #0072e2; } node["addr:street"][prop(crc)>=4545][prop(crc)<4848]::halo, node["addr:place"][prop(crc)>=4545][prop(crc)<4848]::halo, relation[type="associatedStreet"][prop(crc)>=4545][prop(crc)<4848] > node["addr:housenumber"]::halo { symbol-fill-color: #0072e2; text-halo-color: #0072e2; } way["highway"]["name"][prop(crc)>=4545][prop(crc)<4848] { color: #0072e2; text-halo-color: #0072e2; } /* --------- */ area["addr:street"][prop(crc)>=4848][prop(crc)<5151], area["addr:place"][prop(crc)>=4848][prop(crc)<5151], relation[type="associatedStreet"][prop(crc)>=4848][prop(crc)<5151] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=4848][prop(crc)<5151]:closed { color: #228b22; fill-color: #228b22; text-halo-color: #228b22; } node["addr:street"][prop(crc)>=4848][prop(crc)<5151]::halo, node["addr:place"][prop(crc)>=4848][prop(crc)<5151]::halo, relation[type="associatedStreet"][prop(crc)>=4848][prop(crc)<5151] > node["addr:housenumber"]::halo { symbol-fill-color: #228b22; text-halo-color: #228b22; } way["highway"]["name"][prop(crc)>=4848][prop(crc)<5151] { color: #228b22; text-halo-color: #228b22; } /* --------- */ area["addr:street"][prop(crc)>=5151][prop(crc)<5454], area["addr:place"][prop(crc)>=5151][prop(crc)<5454], relation[type="associatedStreet"][prop(crc)>=5151][prop(crc)<5454] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=5151][prop(crc)<5454]:closed { color: #ffe400; fill-color: #ffe400; text-halo-color: #ffe400; } node["addr:street"][prop(crc)>=5151][prop(crc)<5454]::halo, node["addr:place"][prop(crc)>=5151][prop(crc)<5454]::halo, relation[type="associatedStreet"][prop(crc)>=5151][prop(crc)<5454] > node["addr:housenumber"]::halo { symbol-fill-color: #ffe400; text-halo-color: #ffe400; } way["highway"]["name"][prop(crc)>=5151][prop(crc)<5454] { color: #ffe400; text-halo-color: #ffe400; } /* --------- */ area["addr:street"][prop(crc)>=5454][prop(crc)<5757], area["addr:place"][prop(crc)>=5454][prop(crc)<5757], relation[type="associatedStreet"][prop(crc)>=5454][prop(crc)<5757] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=5454][prop(crc)<5757]:closed { color: #BF9017; fill-color: #BF9017; text-halo-color: #BF9017; } node["addr:street"][prop(crc)>=5454][prop(crc)<5757]::halo, node["addr:place"][prop(crc)>=5454][prop(crc)<5757]::halo, relation[type="associatedStreet"][prop(crc)>=5454][prop(crc)<5757] > node["addr:housenumber"]::halo { symbol-fill-color: #BF9017; text-halo-color: #BF9017; } way["highway"]["name"][prop(crc)>=5454][prop(crc)<5757] { color: #BF9017; text-halo-color: #BF9017; } /* --------- */ area["addr:street"][prop(crc)>=5757][prop(crc)<6060], area["addr:place"][prop(crc)>=5757][prop(crc)<6060], relation[type="associatedStreet"][prop(crc)>=5757][prop(crc)<6060] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=5757][prop(crc)<6060]:closed { color: #adff2f; fill-color: #adff2f; text-halo-color: #adff2f; } node["addr:street"][prop(crc)>=5757][prop(crc)<6060]::halo, node["addr:place"][prop(crc)>=5757][prop(crc)<6060]::halo, relation[type="associatedStreet"][prop(crc)>=5757][prop(crc)<6060] > node["addr:housenumber"]::halo { symbol-fill-color: #adff2f; text-halo-color: #adff2f; } way["highway"]["name"][prop(crc)>=5757][prop(crc)<6060] { color: #adff2f; text-halo-color: #adff2f; } /* --------- */ area["addr:street"][prop(crc)>=6060][prop(crc)<6363], area["addr:place"][prop(crc)>=6060][prop(crc)<6363], relation[type="associatedStreet"][prop(crc)>=6060][prop(crc)<6363] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=6060][prop(crc)<6363]:closed { color: #ff69b4; fill-color: #ff69b4; text-halo-color: #ff69b4; } node["addr:street"][prop(crc)>=6060][prop(crc)<6363]::halo, node["addr:place"][prop(crc)>=6060][prop(crc)<6363]::halo, relation[type="associatedStreet"][prop(crc)>=6060][prop(crc)<6363] > node["addr:housenumber"]::halo { symbol-fill-color: #ff69b4; text-halo-color: #ff69b4; } way["highway"]["name"][prop(crc)>=6060][prop(crc)<6363] { color: #ff69b4; text-halo-color: #ff69b4; } /* --------- */ area["addr:street"][prop(crc)>=6363][prop(crc)<6666], area["addr:place"][prop(crc)>=6363][prop(crc)<6666], relation[type="associatedStreet"][prop(crc)>=6363][prop(crc)<6666] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=6363][prop(crc)<6666]:closed { color: #cd5c5c; fill-color: #cd5c5c; text-halo-color: #cd5c5c; } node["addr:street"][prop(crc)>=6363][prop(crc)<6666]::halo, node["addr:place"][prop(crc)>=6363][prop(crc)<6666]::halo, relation[type="associatedStreet"][prop(crc)>=6363][prop(crc)<6666] > node["addr:housenumber"]::halo { symbol-fill-color: #cd5c5c; text-halo-color: #cd5c5c; } way["highway"]["name"][prop(crc)>=6363][prop(crc)<6666] { color: #cd5c5c; text-halo-color: #cd5c5c; } /* --------- */ area["addr:street"][prop(crc)>=6666][prop(crc)<6969], area["addr:place"][prop(crc)>=6666][prop(crc)<6969], relation[type="associatedStreet"][prop(crc)>=6666][prop(crc)<6969] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=6666][prop(crc)<6969]:closed { color: #81621a; fill-color: #81621a; text-halo-color: #81621a; } node["addr:street"][prop(crc)>=6666][prop(crc)<6969]::halo, node["addr:place"][prop(crc)>=6666][prop(crc)<6969]::halo, relation[type="associatedStreet"][prop(crc)>=6666][prop(crc)<6969] > node["addr:housenumber"]::halo { symbol-fill-color: #81621a; text-halo-color: #81621a; } way["highway"]["name"][prop(crc)>=6666][prop(crc)<6969] { color: #81621a; text-halo-color: #81621a; } /* --------- */ area["addr:street"][prop(crc)>=6969][prop(crc)<7272], area["addr:place"][prop(crc)>=6969][prop(crc)<7272], relation[type="associatedStreet"][prop(crc)>=6969][prop(crc)<7272] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=6969][prop(crc)<7272]:closed { color: #824600; fill-color: #824600; text-halo-color: #824600; } node["addr:street"][prop(crc)>=6969][prop(crc)<7272]::halo, node["addr:place"][prop(crc)>=6969][prop(crc)<7272]::halo, relation[type="associatedStreet"][prop(crc)>=6969][prop(crc)<7272] > node["addr:housenumber"]::halo { symbol-fill-color: #824600; text-halo-color: #824600; } way["highway"]["name"][prop(crc)>=6969][prop(crc)<7272] { color: #824600; text-halo-color: #824600; } /* --------- */ area["addr:street"][prop(crc)>=7272][prop(crc)<7575], area["addr:place"][prop(crc)>=7272][prop(crc)<7575], relation[type="associatedStreet"][prop(crc)>=7272][prop(crc)<7575] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=7272][prop(crc)<7575]:closed { color: #f08080; fill-color: #f08080; text-halo-color: #f08080; } node["addr:street"][prop(crc)>=7272][prop(crc)<7575]::halo, node["addr:place"][prop(crc)>=7272][prop(crc)<7575]::halo, relation[type="associatedStreet"][prop(crc)>=7272][prop(crc)<7575] > node["addr:housenumber"]::halo { symbol-fill-color: #f08080; text-halo-color: #f08080; } way["highway"]["name"][prop(crc)>=7272][prop(crc)<7575] { color: #f08080; text-halo-color: #f08080; } /* --------- */ area["addr:street"][prop(crc)>=7575][prop(crc)<7878], area["addr:place"][prop(crc)>=7575][prop(crc)<7878], relation[type="associatedStreet"][prop(crc)>=7575][prop(crc)<7878] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=7575][prop(crc)<7878]:closed { color: #F75617; fill-color: #F75617; text-halo-color: #F75617; } node["addr:street"][prop(crc)>=7575][prop(crc)<7878]::halo, node["addr:place"][prop(crc)>=7575][prop(crc)<7878]::halo, relation[type="associatedStreet"][prop(crc)>=7575][prop(crc)<7878] > node["addr:housenumber"]::halo { symbol-fill-color: #F75617; text-halo-color: #F75617; } way["highway"]["name"][prop(crc)>=7575][prop(crc)<7878] { color: #F75617; text-halo-color: #F75617; } /* --------- */ area["addr:street"][prop(crc)>=7878][prop(crc)<8181], area["addr:place"][prop(crc)>=7878][prop(crc)<8181], relation[type="associatedStreet"][prop(crc)>=7878][prop(crc)<8181] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=7878][prop(crc)<8181]:closed { color: #32cd32; fill-color: #32cd32; text-halo-color: #32cd32; } node["addr:street"][prop(crc)>=7878][prop(crc)<8181]::halo, node["addr:place"][prop(crc)>=7878][prop(crc)<8181]::halo, relation[type="associatedStreet"][prop(crc)>=7878][prop(crc)<8181] > node["addr:housenumber"]::halo { symbol-fill-color: #32cd32; text-halo-color: #32cd32; } way["highway"]["name"][prop(crc)>=7878][prop(crc)<8181] { color: #32cd32; text-halo-color: #32cd32; } /* --------- */ area["addr:street"][prop(crc)>=8181][prop(crc)<8484], area["addr:place"][prop(crc)>=8181][prop(crc)<8484], relation[type="associatedStreet"][prop(crc)>=8181][prop(crc)<8484] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=8181][prop(crc)<8484]:closed { color: #ba55d3; fill-color: #ba55d3; text-halo-color: #ba55d3; } node["addr:street"][prop(crc)>=8181][prop(crc)<8484]::halo, node["addr:place"][prop(crc)>=8181][prop(crc)<8484]::halo, relation[type="associatedStreet"][prop(crc)>=8181][prop(crc)<8484] > node["addr:housenumber"]::halo { symbol-fill-color: #ba55d3; text-halo-color: #ba55d3; } way["highway"]["name"][prop(crc)>=8181][prop(crc)<8484] { color: #ba55d3; text-halo-color: #ba55d3; } /* --------- */ area["addr:street"][prop(crc)>=8484][prop(crc)<8787], area["addr:place"][prop(crc)>=8484][prop(crc)<8787], relation[type="associatedStreet"][prop(crc)>=8484][prop(crc)<8787] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=8484][prop(crc)<8787]:closed { color: #9370db; fill-color: #9370db; text-halo-color: #9370db; } node["addr:street"][prop(crc)>=8484][prop(crc)<8787]::halo, node["addr:place"][prop(crc)>=8484][prop(crc)<8787]::halo, relation[type="associatedStreet"][prop(crc)>=8484][prop(crc)<8787] > node["addr:housenumber"]::halo { symbol-fill-color: #9370db; text-halo-color: #9370db; } way["highway"]["name"][prop(crc)>=8484][prop(crc)<8787] { color: #9370db; text-halo-color: #9370db; } /* --------- */ area["addr:street"][prop(crc)>=8787][prop(crc)<9090], area["addr:place"][prop(crc)>=8787][prop(crc)<9090], relation[type="associatedStreet"][prop(crc)>=8787][prop(crc)<9090] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=8787][prop(crc)<9090]:closed { color: #ff7c00; fill-color: #ff7c00; text-halo-color: #ff7c00; } node["addr:street"][prop(crc)>=8787][prop(crc)<9090]::halo, node["addr:place"][prop(crc)>=8787][prop(crc)<9090]::halo, relation[type="associatedStreet"][prop(crc)>=8787][prop(crc)<9090] > node["addr:housenumber"]::halo { symbol-fill-color: #ff7c00; text-halo-color: #ff7c00; } way["highway"]["name"][prop(crc)>=8787][prop(crc)<9090] { color: #ff7c00; text-halo-color: #ff7c00; } /* --------- */ area["addr:street"][prop(crc)>=9090][prop(crc)<9393], area["addr:place"][prop(crc)>=9090][prop(crc)<9393], relation[type="associatedStreet"][prop(crc)>=9090][prop(crc)<9393] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=9090][prop(crc)<9393]:closed { color: #3cb371; fill-color: #3cb371; text-halo-color: #3cb371; } node["addr:street"][prop(crc)>=9090][prop(crc)<9393]::halo, node["addr:place"][prop(crc)>=9090][prop(crc)<9393]::halo, relation[type="associatedStreet"][prop(crc)>=9090][prop(crc)<9393] > node["addr:housenumber"]::halo { symbol-fill-color: #3cb371; text-halo-color: #3cb371; } way["highway"]["name"][prop(crc)>=9090][prop(crc)<9393] { color: #3cb371; text-halo-color: #3cb371; } /* --------- */ area["addr:street"][prop(crc)>=9393][prop(crc)<9696], area["addr:place"][prop(crc)>=9393][prop(crc)<9696], relation[type="associatedStreet"][prop(crc)>=9393][prop(crc)<9696] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=9393][prop(crc)<9696]:closed { color: #707000; fill-color: #707000; text-halo-color: #707000; } node["addr:street"][prop(crc)>=9393][prop(crc)<9696]::halo, node["addr:place"][prop(crc)>=9393][prop(crc)<9696]::halo, relation[type="associatedStreet"][prop(crc)>=9393][prop(crc)<9696] > node["addr:housenumber"]::halo { symbol-fill-color: #707000; text-halo-color: #707000; } way["highway"]["name"][prop(crc)>=9393][prop(crc)<9696] { color: #707000; text-halo-color: #707000; } /* --------- */ area["addr:street"][prop(crc)>=9696], area["addr:place"][prop(crc)>=9696], relation[type="associatedStreet"][prop(crc)>=9696] > area["addr:housenumber"], area["highway"="pedestrian"]["name"][prop(crc)>=9696]:closed { color: #ff4444; fill-color: #ff4444; text-halo-color: #ff4444; } node["addr:street"][prop(crc)>=9696]::halo, node["addr:place"][prop(crc)>=9696]::halo, relation[type="associatedStreet"][prop(crc)>=9696] > node["addr:housenumber"]::halo { symbol-fill-color: #ff4444; text-halo-color: #ff4444; } way["highway"]["name"][prop(crc)>=9696] { color: #ff4444; text-halo-color: #ff4444; } /* ------------------------------------------------------------------------------------------------------------------------ */ /* Error messages and other special rules */ /* have housenumber, miss street */ node[addr:housenumber][!addr:street][!addr:place], area[addr:housenumber][!addr:street][!addr:place] { isinassociatedstreetrelation: eval(cond(parent_tag(type)="associatedStreet",true,false)); } area[addr:housenumber][!addr:street][!addr:place][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: 3; fill-color: #FF0000; fill-opacity:0.7; text-color: #000000; font-size: 10; casing-width: 1; casing-color: #FFFF00; } node[addr:housenumber][!addr:street][!addr:place][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][!addr:interpolation], area[addr:place][!addr:housenumber][!highway][!addr:interpolation] { 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, node["addr:place"][!"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; } /* street with addr:*=* */ way["highway"]["addr:country"], way["highway"]["addr:postcode"][!prop(style_allow_postcode_on_highway)], way["highway"]["addr:city"], way["highway"]["addr:street"], way["highway"]["addr:place"], 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; } /* addr:*=* together with addr:interpolation=* */ way["addr:interpolation"]["addr:country"], way["addr:interpolation"]["addr:postcode"], way["addr:interpolation"]["addr:city"], way["addr:interpolation"]["addr:street"], way["addr:interpolation"]["addr:place"], way["addr:interpolation"]["addr:housenumber"] { text: eval("addr:interpolation shouldn't have other addr:*=* tags!"); color: red; width: 5; dashes: 20,4; dashes-background-color: #FFFF00; object-z-index:-1.0; text-halo-color: red; text-halo-radius: 2; text-color: black; font-size: 12; } /* 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], node[!"addr:housenumber"][name][addr:place] { 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][highway!="platform"] { 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; }
Styles_Coloured_Streets-style.mapcss, Styles_Coloured_Streets.zip
Attachments (6)
-
style_settings.gif
(194.4 KB
) - added by 12 years ago.
Style settings (NOZIP)
-
exampleColouredStreets.png
(299.5 KB
) - added by 12 years ago.
Example Coloured Streets (NOZIP)
-
exampleColouredStreetsLowZoom.png
(182.7 KB
) - added by 12 years ago.
exampleColouredStreetsLowZoom (NOZIP)
-
JOSM_internal_compared_to_Coloured_Streets.gif
(82.9 KB
) - added by 12 years ago.
JOSM internal compared to Coloured Streets (NOZIP)
-
ColouredStreetsIcon.svg
(549 bytes
) - added by 6 years ago.
Icon
-
Testcenter.osm
(687.0 KB
) - added by 5 years ago.
Testcenter (NOZIP)
Download all attachments as: .zip



