Surface - Data Entry
This is a JOSM paint style for doing data entry of surface=* tags onto highways based on aerial imagery. Using normal paint styles, entering the surface values from imagery is difficult since the line drawn along the road centerline obscures the view of the road in the aerial imagery. As a result you either need to switch to wireframe mode (which doesn't completely solve the problem unless you zoom in quite far), or you need to constantly toggle the OSM data layer on and off to see the imagery clearly. Also, the default rendering style does not distinguish between roads with and without surface tags, so it is difficult to see where work needs to be done.
The 'Surface - Data Entry' paint style solves these problems in two ways. First, roads are coloured yellow if they do not have a surface tag, and green if they do; making it easy to see where work needs to be done. Furthermore, paved roads (surface = paved, concrete, asphalt, etc) are shown with solid green lines while unpaved roads (surface = unpaved, gravel, dirt, sand, mud, etc) are shown as dotted green lines. This rendering distinction makes it easy to spot incorrectly tagged roads by checking them against the aerial imagery. Finally, when you zoom in to zoom level 16 or greater, the roads are rendered with only a 0.1 pixel grey line down the road centerline with the green or yellow surface indications drawn as left/right casings down the sides of the road. This prevents the lines from obstructing your view of the imagery allowing for easy entering/checking of the surface tag against aerial imagery.
Nodes are drawn as small blue circles to avoid obstructing your view of the underlying imagery, whilst still allowing you to split roads where necessary for surface changes, bridges, etc. Nodes are hidden entirely when zoomed out to further clear the view.
meta { title: "Surface - Data Entry"; description: "This styling is intended for data entry of road surface tags from aerial imagery. The style not only shows the status and value of the surface tag, but also refrains from drawing directly on the road allowing a clear view of the road surface in the imagery to allow for easier editing/checking of the surface values."; author: "AndrewBuck"; version: "1.0.9_2018-03-24"; link: "https://josm.openstreetmap.de/wiki/Styles/Surface-DataEntry"; } /* General things. */ canvas { fill-color: #000; default-lines: true; default-points: false; } way::* { width: 2; major-z-index: 3.0; linejoin: miter; linecap: none; } area:closed { fill-opacity: 0.5; } *::* { text-halo-color: white; text-anchor-horizontal: center; text-anchor-vertical: center; } /* High zoom. */ node|z16- { symbol-shape: circle; symbol-size: 4; symbol-fill-color: turquoise; symbol-fill-opacity: 0.75; symbol-stroke-color: black; } node|z16-:connection { symbol-shape: circle; symbol-size: 7; symbol-fill-color: yellow; symbol-fill-opacity: 1.0; symbol-stroke-color: black; } way|z16-["highway"] { width: 0.1; major-z-index: 3.5; left-casing-width: 2; right-casing-width: 2; left-casing-offset: 4; right-casing-offset: 4; } way|z16-[highway][!surface] { left-casing-color: yellow; right-casing-color: yellow; left-casing-dashes: 8, 24; right-casing-dashes: 8, 24; } way|z16-[highway][surface=~/paved|asphalt|cobblestone|cobblestone:flattened|concrete|concrete:lanes|concrete:plates|paving_stones|paving_stones:.*/] { left-casing-color: lime; right-casing-color: lime; } way|z16-[highway][surface=~/unpaved|artificial_turf|clay|compacted|dirt|earth|fine_gravel|grass|grass_paver|gravel|ground|metal|mud|pebblestone|sand|wood/] { left-casing-color: lime; right-casing-color: lime; left-casing-dashes: 5, 15; right-casing-dashes: 5, 15; } /* Low zoom. */ way|z-15[highway] { width: 2; major-z-index: 3.5; } way|z-15[highway][!surface] { color: yellow; } way|z-15[highway][surface=~/paved|asphalt|cobblestone|cobblestone:flattened|concrete|concrete:lanes|concrete:plates|paving_stones|paving_stones:.*/] { color: lime; } way|z-15[highway][surface=~/unpaved|artificial_turf|clay|compacted|dirt|earth|fine_gravel|grass|grass_paver|gravel|ground|metal|mud|pebblestone|sand|wood/] { color: lime; dashes: 5, 15; }
Styles_Surface-DataEntry-style.mapcss, Styles_Surface-DataEntry.zip