-
Notifications
You must be signed in to change notification settings - Fork 2
JOSM MapCSS Paint Style Wiki
Click to see all settings!
- Display address labels
- Areas drawn with partial fill
- Hide tagged waynodes at low zoom
- Large nodes (all zoom levels)
- Display highway ref labels
- Display larger highway and place name labels
- Display destinations on ways and relations
- Remove all street labels
- Hide icons (at low zoom)
- Highlight continuous roads
- Inline validation checks
- Z-Index check
- Sensitive features
- Highlight highways by int_ref Tag
- Check for missing or mismatching refs
- Highlight one-way roads
- Highlight bus routes
- Highlight highways by ref tag
- Highlight associatedStreets
- Show landuse labels
- Show unconnected nodes
- Alternative highways
- Highlight pedestrian accessibility
JOSM uses MapCSS stylesheets to customize the map display. Using a series of selectors and declarations, a stylesheet is made up of a series of rules which dictate how different elements style on the map. This stylesheet is intended to be used as a base style which replaces the JOSM default base style.
Use this method for manual updates
-
Copy a zipped version of this repo by clicking 'Clone or download' -> 'Download ZIP'. Unzip this file into a directory of your choosing.
-
Open JOSM preferences and navigate to Map Paint Styles (third icon down, second over):
- "+" under Active styles.
- Name the style.
- For 'URL / File', navigate to the directory from Step 1, and select the file with the '.mapcss' file extension.
- Ok.
- Installed! You should now see the paint style in the 'Map Paint Styles' window.
Notes:
- If you do not download a zipped copy, all icons could be broken!
- Enabling other paint styles may cause unintended display issues!
Use this method for automatic updates
-
Copy HTTPS link to GitHub by clicking 'Clone or download'
- Ensure dialog box says "Clone with HTTPS". If not, click 'Use HTTPS'
- Copy URL
-
Open JOSM preferences and navigate to Map Paint Styles (third icon down, second over):
- "+" under Active styles.
- Name the style.
- Paste the repo link from Step 1 into 'URL / File'.
https://github.com/osmlab/applepaintstyles/archive/main.zip
- Ok.
-
Installed! You should now see the paint style in the 'Map Paint Styles' window.
Notes:
- If you do not download a zipped copy, all icons could be broken!
- Enabling other paint styles may cause unintended display issues!
By default the 'Hide icons (at low zoom)', 'Areas drawn with partial fill', 'Inline validation checks', 'Sensitive features', and 'Hide tagged waynodes at low zoom' settings are turned on. To enable and disable these and other settings:
-
Right click on the paint style -> Left click 'Style settings'
-
Select the appropriate setting group:
- Feature/Label Display Settings contains settings which dictate general map feature display and labeling
- Tag/Geometry Check Settings contains settings which operate based on specific tag or geometry interactions
-
Alternative Settings contains settings which offer an alternative to the base style
-
Select the appropriate setting(s)
- Click here for more information on settings
-
Remember that having other paint styles active simultaneously may cause unintended display issues. It is recommended that other styles sit below this style in the 'Map Paint Styles' window.
Here is documentation on each setting within the paint style
Enabling this setting will display the 'name' field of any POI (Point of Interest). This includes building names, address numbers, shop names, and tourism feature names.
Enabling this setting will cause area features to only style around the border of the feature. This helps with visibility and rendering when multiple areas overlap.
Enabling this setting will hide nodes which have tags on them, and that are part of a way.
Enabling this setting will enlarge connection nodes.
Enabling this setting will display the 'ref' tag, instead of the 'name' tag, on highway features.
Enabling this setting will enlarge the 'name' label on highway and place features. It will also render these labels at lower zoom levels.
Enabling this setting will highlight features with any 'destination' tag or a member of a 'destination_sign' relation. It will also display a label for the 'from' and 'to' roles if applicable.
Enabling this setting will remove all labels on highway features. This is useful in data dense areas, or at low zoom levels.
Enabling this setting will hide POI icons and their labels at low zoom.
Enabling this setting will highlight roads segments based on their way ID. Each road segment will be styled using one of 32 random colors. This can be used to identify roads which may need to be split.
Enabling this setting will highlight a variety of data validation errors directly in the map display without having to validate!
- Roundabout Check: Check for missing 'roundabout' tags on circular geometry
![]()
- Motorway Oneway Checks: Check for 'oneway' tags on motorway and motorway_links
![]()
- Suspicious Roundabout Check: Check for incorrect 'oneway' direction on roundabouts
![]()
- Large Building (area > 520000): Check for buildings which are larger than 520000 sq. m.
![]()
- Building Crossing Building: Check for buildings with overlapping geometry
![]()
- Floating Roads Check: Check for roads which do not connect to any other features
![]()
- Dead-End Oneways: Check for 'oneway' segments which dead end
![]()
- Bad Building Values: Check for 'building' values which are suspicious or deprecated
![]()
- Buildings as Water or Roads: Check for 'building' features with 'highway' or 'waterway' tags
![]()
- Building Intersecting Road Checks: Check for buildings which intersect roads
![]()
- Building Inside Building: Check for building features which reside inside other building features
![]()
- Water Snapped to Roads and Buildings: Check for water features (ways only) which are snapped to roads or buildings
![]()
- Buildings Within Water: Check for buildings which reside inside water features
![]()
- Waterways Crossing With Buildings: Check for waterways which cross building geometry
![]()
- Strange Character in Tag: Check for strange characters in Key(s):
+
/
&
<
>
;
'
"
%
#
@
\
,
.
{
}
?
*
^
$
![]()
- Invalid Multipolygon Check: Identifies when outer member overlaps with another outer member, Identifies inner member intersecting with an outer member (both on the node and polygon), Identifies an outer member within an inner member
![]()
Enabling this setting will highlight features based on their 'layer' tag.
Enabling this setting will highlight features which are sensitive or require additional caution when editing. Examples include admin boundaries, military features, and place features.
Enabling this setting will highlight highways with an 'int_ref' tag using one of 32 random colors. This can be used to check for gaps or inconsistencies in the 'int_ref' road network.
Enabling this setting will highlight roads with missing 'ref' tags, or roads where there is a mismatch between the 'ref' value on the way and the relation.
Enabling this setting will highlight roads with a 'oneway' tag.
Enabling this setting will highlight bus route relations using one of 32 random colors.
Enabling this setting will highlight highways with a 'ref' tag using one of 32 random colors. This can be used to check for gaps or inconsistencies in the 'ref' road network.
Enabling this setting will highlight all members of an 'associatedStreet' relation using one of 32 random colors.
Enabling this setting will label landuse features with their 'landuse' tag.
Enabling this setting will highlight waynodes which do not connect to another feature.
Enabling this setting will change the base style.
Enabling this setting will highlight pedestrian tags using green (can access) or red (cannot access) coloring, designated access icons and sidewalk hashing.
Here is a guide on the general format of the style, as well as guidelines for contributing
Indentation 4 spaces
Declaration Format Correct:
#selector-1 {
symbol-fill-opacity: 1;
symbol-fill-color: #000000;
}
#selector-1,
#selector-2,
#selector-3 {
symbol-fill-opacity: 1;
symbol-fill-color: #000000;
}
Incorrect:
#selector-1
{
symbol-fill-opacity: 1;
symbol-fill-color: #000000;
}
#selector-1, #selector-2, #selector-3 {
symbol-fill-opacity: 1;
symbol-fill-color: #000000;
}
Commenting and Headings
/*----------------------------------------------------------------------------------------------------------------------*\
Use this comment block for headings
\*----------------------------------------------------------------------------------------------------------------------*/
/*******************************************/
/* Use this comment block for sub-headings */
/*******************************************/
/* Use this comment block for a basic, one line comment */
For more information, please contact Andrew Wiseman.