Skip to content

Instantly share code, notes, and snippets.

@macdet
Forked from tonithenhausen/offline_v5.xml
Created April 21, 2022 05:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save macdet/5cc0914e53619d9a2488cf825c9f4087 to your computer and use it in GitHub Desktop.
Save macdet/5cc0914e53619d9a2488cf825c9f4087 to your computer and use it in GitHub Desktop.
Karoo Rendertheme
<?xml version="1.0" encoding="UTF-8"?>
<rendertheme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" map-background="#dcd5d0"
map-background-outside="#dcd5d0" version="5" xmlns="http://mapsforge.org/renderTheme"
xsi:schemaLocation="http://mapsforge.org/renderTheme https://raw.githubusercontent.com/mapsforge/vtm/master/resources/rendertheme.xsd">
<!-- AREA STYLES -->
<style-area fill="#6e91cd" id="water" mesh="true"/>
<!-- LINE CASINGS -->
<style-line id="unpaved_casing" stroke="#669e844c" stroke-linecap="round"/>
<style-line id="paved_cycleway_casing" stroke="#66327a04" stroke-linecap="round"/>
<!-- LINE STYLES -->
<style-line id="path" stroke="#606060" stroke-linecap="round"
stroke-width="0.5"/>
<style-line id="cycling_path" stroke="#58865d" stroke-linecap="round" stroke-width="0.6"/>
<style-line id="unpaved_cycling_path" stroke="#947123" stroke-linecap="round" stroke-width="0.6"/>
<!-- Base style for fixed width lines -->
<style-line cap="butt" fix="true" id="fix" width="1.0"/>
<!-- Water line styles -->
<style-line cap="butt" id="water" stroke="#6e91cd" width="1.0"/>
<style-line fix="false" id="river" stroke="#6e91cd" use="water"/>
<!-- Text styles -->
<style-text id="poi_label" caption="true" dy="-15" fill="#2d51bc" font-family="thin"
k="name" size="11" stroke="#ffffff" stroke-width="2.0" style="bold" />
<!-- Road Labels - need to set priority and font-size where used, and override fill if needed -->
<style-text id="road_label" k="name" font-family="thin" fill="#00666666" stroke="#00ffffff" stroke-width="2.0" font-style="bold"/>
<!-- STYLE ASSIGNMENT RULES -->
<!-- Land vs. sea -->
<m e="way" k="natural" v="issea|sea">
<area use="water"/>
</m>
<m e="way" k="natural" v="nosea">
<area mesh="true" fill="#dcd5d0"/>
</m>
<!-- Closed ways (except highways and buildings -->
<m closed="yes" e="way" k="highway|building" v="~">
<m k="landuse">
<m v="meadow">
<area mesh="true" fill="#bfe0ad"/>
</m>
<m v="residential">
<area mesh="true" fill="#c2c2bc"/>
</m>
<m v="allotments">
<area mesh="true" fill="#cfac7c"/>
</m>
<m v="commercial|retail">
<area mesh="true" fill="#d4d4d4"/>
</m>
<m v="farm|farmyard|farmland|orchard|vineyard">
<area mesh="true" fill="#a7c28f"/>
</m>
<m v="quarry">
<area mesh="true" fill="#b8b1ad"/>
</m>
<m v="industrial|railway">
<area mesh="true" fill="#d4c3d6"/>
</m>
<m v="cemetery">
<area mesh="true" fill="#bdc7b3"/>
</m>
</m>
<m k="amenity">
<m v="kindergarten|school|college|university">
<area mesh="true" fill="#c2c180"/>
<line cap="butt" fix="true" stroke="#9aabae" width="1.0"/>
</m>
<m v="hospital">
<area mesh="true" fill="#d9c7ab"/>
</m>
</m>
<m k="landuse">
<m v="recreation_ground">
<area mesh="true" fill="#9ac56e"/>
</m>
<m v="brownfield">
<area mesh="true" fill="#b9baad"/>
</m>
</m>
<m k="leisure" v="park|common|green|golf_course|pitch">
<area mesh="true" fill="#9ac56e"/>
</m>
<m k="natural">
<m k="natural" v="grassland|scrub">
<area mesh="true" fill="#8ed496"/>
</m>
<m v="sand|beach">
<area mesh="true" fill="#f5e8d6"/>
</m>
<m v="rock|bare_rock|stone|scree|glacier|cliff">
<area mesh="true" fill="#cccccc"/>
</m>
</m>
<m k="amenity" v="parking">
<area mesh="true" fill="#999999"/>
</m>
<m k="landuse|natural" v="forest|wood">
<area mesh="true" fill="#a8bc9a"/>
</m>
<!-- keep grass above forest:wood and leisure:park! -->
<!-- http://wiki.openstreetmap.org/wiki/Proposed_features/conservation,
often serves as background for leisure=nature_reserve -->
<m k="landuse" v="grass">
<area mesh="true" fill="#c4deab"/>
</m>
<m k="leisure" v="garden">
<area mesh="true" fill="#cce0b8"/>
</m>
<m k="landuse" v="reservoir|basin">
<area use="water"/>
</m>
<!-- End landuse, natural, leisure, tourism, amenity areas -->
</m> <!--- End of closed ways -->
<!-- Waterways (rivers, streams, etc.) -->
<m e="way" k="waterway">
<m v="ditch|drain" zoom-min="14">
<line use="water" width="0.2"/>
</m>
<m v="stream" zoom-min="13">
<line use="water" width="0.4"/>
</m>
<m v="canal">
<line use="river" width="-0.3"/>
</m>
<m v="river">
<m zoom-min="12">
<line use="river" width="0.5"/>
</m>
<m zoom-min="10">
<line use="water" width="0.3"/>
</m>
<m zoom-min="8">
<line use="water" width="0.1"/>
</m>
</m>
<m v="riverbank|dock">
<!-- Using mesh=true for areas causes problems below ZL 12 -->
<!-- Using just lines at lower ZL is not a good solution (big rivers look bad) -->
<area use="water" mesh="false"/>
</m>
<m v="weir">
<line stroke="#000088" use="fix"/>
</m>
<m v="dam" zoom-min="12">
<line stroke="#ababab" use="fix" width="0.2"/>
</m>
<m k="lock" v="yes|true">
<line stroke="#f8f8f8" use="fix" width="0.5"/>
</m>
</m>
<!-- Closed natural water features (e.g. lakes) -->
<m e="way">
<m closed="yes" k="natural" v="water">
<area use="water" />
<caption font-family="thin" area-size="0.2" fill="#000000" k="name" size="14"/>
</m>
</m>
<!-- partially transparent areas, draw later. these can overlap water and land -->
<m k="leisure" v="nature_reserve">
<area mesh="true" fill="#9988b8b3"/>
</m>
<m k="landuse" v="military">
<area mesh="true" fill="#99b89488"/>
<caption font-family="thin" area-size="0.2" fill="#000000" k="name" size="14"/>
</m>
<!-- Railway -->
<m e="way" k="railway">
<m v="station">
<area fill="#dbdbc9" stroke="#707070" stroke-width="0.3"/>
</m>
<!-- Railway bridge casings (TODO - needs work?) -->
<m zoom-min="14">
<m k="bridge" v="yes|true">
<m v="tram|subway|light_rail|narrow_gauge">
<line cap="butt" fix="true" stroke="#777777" width="0.9"/>
</m>
<m v="rail">
<line cap="butt" fix="true" stroke="#777777" width="0.9"/>
</m>
</m>
</m>
<!--- Rail: use a line pattern above zoom 13 -->
<m v="rail|turntable" zoom-min="14">
<line cap="butt" fix="true" stipple="10" stipple-stroke="#ffffff"
stipple-width="0.8" stroke="#666666" width="2.0"/>
</m>
<m v="rail|turntable" zoom-max="13">
<line cap="butt" fix="true" stroke="#ddaa9988" width="1.0"/>
</m>
<m v="tram" zoom-min="15">
<line fix="true" stroke="#887766" width="1.0"/>
</m>
<m v="light_rail|subway|narrow_gauge" zoom-min="14">
<line stroke="#999999" stroke-width="0.25"/>
</m>
<!-- Other tag values such as disused, spur, abandoned, preserved... -->
<m k="railway" v="~">
<line cap="butt" fix="true" stroke="#cccccc" width="0.6"/>
</m>
</m>
<!-- airport area features -->
<m e="way" k="aeroway" v="aerodrome|apron|helipad">
<area mesh="true" fill="#c7c7b1"/>
<caption font-family="thin" area-size="0.2" fill="#000000" k="name" size="14"/>
</m>
<m e="way" k="aeroway" v="terminal">
<area mesh="true" fill="#c2c180"/>
</m>
<!-- buildings -->
<m e="way" k="building" v="*" zoom-min="17">
<area mesh="true" fill="#a29186" stroke="#958175" stroke-width="0.25"/>
</m>
<!-- special roads -->
<!-- runway lines -->
<m e="way" k="aeroway" v="runway|taxiway">
<m k="*" v="*" zoom-min="10" zoom-max="12">
<line stroke="#a6a5a2" stroke-width="1.5"/>
</m>
<m k="*" v="*" zoom-min="13">
<line stroke="#a6a5a2" stroke-width="2.0"/>
</m>
</m>
<!-- piste (ski slopes) -->
<m e="way" k="piste" v="*">
<line stroke="#494c88" stroke-width="0.3"/>
</m>
<!-- aerialways (gondola, cablecar, chair-lift, etc.) -->
<m e="way" k="aerialway" v="*">
<line stroke="#624d41" stroke-width="0.3"/>
</m>
<!-- bridleway (horses) -->
<m e="way" k="highway" v="bridleway">
<line use="path" stroke="#905b2e"/>
</m>
<!-- footway (separate bicycle allowed from other)-->
<!-- TODO - need to add sidewalk as renderable=false in tag-mapping.xml -->
<m e="way" k="highway" v="footway">
<m k="footway" v="sidewalk" zoom-min="14">
<line stroke="#e35959" stroke-dasharray="3,1" stroke-linecap="round" stroke-width="0.25"/>
</m>
<m k="bicycle" v="yes|designated">
<line use="cycling_path"/>
</m>
<m k="~" v="~">
<line use="path"/>
</m>
</m>
<!-- highway=track - mostly agricultural and farm roads -->
<!-- TODO - highlight any with explicit bicycleaccess? -->
<m e="way" k="highway" v="track">
<m k="tracktype" v="grade1">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line stroke="#905b2e" stroke-dasharray="4,4" width="1.2"/>
<line stroke="#f3d6be" stroke-width="0.8"/>
</m>
<m k="surface" v="~">
<line stroke="#707070" width="1.4"/>
<line stroke="#f2f5ed" stroke-width="1"/>
</m>
</m>
<m k="tracktype" v="grade2|grade3">
<line stroke="#905b2e" stroke-dasharray="4,4" width="1.2"/>
<line stroke="#f3d6be" stroke-width="0.8"/>
</m>
<m k="tracktype" v="grade4|grade5|~">
<line use="path"/>
</m>
</m>
<!-- TODO casing for bicycle routes not working -->
<!--
<m e="way" k="route" v="bicycle" zoom-min="12">
<line stroke="#00aaaa" width="8.0"/>
</m>
-->
<!-- service roads - separate parking aisle and driveway from other service roads -->
<m e="way" k="highway" v="service">
<m k="service" v="driveway" zoom-min="16">
<line stroke="#f2f5ed" stroke-linecap="round" stroke-dasharray="15,5" stroke-width="0.3"/>
</m>
<m k="service" v="parking_aisle" zoom-min="14">
<line stroke="#f2f5ed" stroke-linecap="round" stroke-width="0.5"/>
</m>
<!-- TODO - change color/style for alleys to differentiate from regular service roads? -->
<m k="service" v="alley" zoom-min="14">
<line stroke="#f2f5ed" stroke-linecap="round" stroke-width="0.75"/>
</m>
<m k="service" v="~">
<line stroke="#707070" width="1.2"/>
<line stroke="#f2f5ed" stroke-linecap="butt" stroke-width="0.8"/>
</m>
</m>
<!-- pedestrian highways -->
<m e="way" k="highway" v="pedestrian">
<m zoom-min="14">
<line stroke="#f2f5ed" stroke-linecap="round" stroke-width="0.8"/>
<text use="road_label" font-size="12" priority="15"/>
</m>
</m>
<!-- road casings (separate treatment for unpaved, cycleways, cyclelanes) -->
<m e="way" k="highway" v="path">
<!-- use an unpaved casing for mtb or unpaved with bicycle designation -->
<m select="first">
<m k="cycleway|mtb:scale|mtb:uphill|mtb:imba" v="*">
<line use="unpaved_cycling_path" />
</m>
<m k="bicycle" v="yes|designated">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line use="unpaved_cycling_path" />
</m>
</m>
</m>
</m>
<m e="way" k="highway" v="cycleway">
<!-- differentiate unpaved from paved -->
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line use="unpaved_casing" width="0.5"/>
</m>
<m k="surface" v="~">
<line use="paved_cycleway_casing" width="0.5"/>
</m>
</m>
<m e="way" k="highway" v="residential|living_street">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="13">
<line use="unpaved_casing" width="2.0"/>
</m>
<m k="surface" v="~">
<m k="cycleway" v="*" zoom-min="13">
<m k="bridge" v="yes|true">
<line use="paved_cycleway_casing" stroke-linecap="butt" width="1.8"/>
</m>
<m k="bridge" v="~">
<line use="paved_cycleway_casing" width="1.8"/>
</m>
</m>
<m k="cycleway" v="~" zoom-min="15">
<m k="bridge" v="yes|true">
<line stroke="#707070" stroke-linecap="butt" stroke-width="1.4"/>
</m>
<m k="bridge" v="~">
<line stroke="#707070" stroke-linecap="round" stroke-width="1.4"/>
</m>
</m>
</m>
</m>
<m e="way" k="highway" v="unclassified|road">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="12">
<line use="unpaved_casing" width="2.2"/>
</m>
<m k="surface" v="~">
<m k="cycleway" v="*" zoom-min="12">
<m k="bridge" v="yes|true">
<line use="paved_cycleway_casing" stroke-linecap="butt" width="2.0"/>
</m>
<m k="bridge" v="~">
<line use="paved_cycleway_casing" width="2.0"/>
</m>
</m>
<m k="cycleway" v="~" zoom-min="14">
<m k="bridge" v="yes|true">
<line stroke="#707070" stroke-linecap="butt" stroke-width="1.6"/>
</m>
<m k="bridge" v="~">
<line stroke="#707070" stroke-linecap="round" stroke-width="1.6"/>
</m>
</m>
</m>
</m>
<m e="way" k="highway" v="tertiary|tertiary_link">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="12">
<line use="unpaved_casing" width="2.4"/>
</m>
<m k="surface" v="~">
<m k="cycleway" v="*" zoom-min="12">
<m k="bridge" v="yes|true">
<line use="paved_cycleway_casing" stroke-linecap="butt" width="2.2"/>
</m>
<m k="bridge" v="~">
<line use="paved_cycleway_casing" width="2.2"/>
</m>
</m>
<m k="cycleway" v="~" zoom-min="14">
<m k="bridge" v="yes|true">
<line stroke="#707070" stroke-linecap="butt" stroke-width="1.8"/>
</m>
<m k="bridge" v="~">
<line stroke="#707070" stroke-linecap="round" stroke-width="1.8"/>
</m>
</m>
</m>
</m>
<m e="way" k="highway" v="secondary|secondary_link">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="10">
<line use="unpaved_casing" width="2.6"/>
</m>
<m k="surface" v="~">
<m k="cycleway" v="*" zoom-min="10">
<m k="bridge" v="yes|true">
<line use="paved_cycleway_casing" stroke-linecap="butt" width="2.4"/>
</m>
<m k="bridge" v="~">
<line use="paved_cycleway_casing" width="2.4"/>
</m>
</m>
<m k="cycleway" v="~" zoom-min="13">
<m k="bridge" v="yes|true">
<line stroke="#707070" stroke-linecap="butt" stroke-width="1.9"/>
</m>
<m k="bridge" v="~">
<line stroke="#707070" stroke-linecap="round" stroke-width="1.9"/>
</m>
</m>
</m>
</m>
<m e="way" k="highway" v="primary|primary_link">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="10">
<line use="unpaved_casing" width="2.6"/>
</m>
<m k="surface" v="~">
<m k="cycleway" v="*" zoom-min="10">
<m k="bridge" v="yes|true">
<line use="paved_cycleway_casing" stroke-linecap="butt" width="2.4"/>
</m>
<m k="bridge" v="~">
<line use="paved_cycleway_casing" width="2.4"/>
</m>
</m>
<m k="cycleway" v="~" zoom-min="12">
<m k="bridge" v="yes|true">
<line stroke="#707070" stroke-linecap="butt" stroke-width="2.1"/>
</m>
<m k="bridge" v="~">
<line stroke="#707070" stroke-linecap="round" stroke-width="2.1"/>
</m>
</m>
</m>
</m>
<!-- motorways and trunk roads - no casing -->
<m e="way" k="highway" v="motorway|motorway_link|trunk|trunk_link">
<line stroke="#dbb042" stroke-width="1.4"/>
<text use="road_label" fill="#444444" font-size="13" priority="15"/>
</m>
<!-- inner fill and labels for roads -->
<!-- TODO - check for mtb tags -->
<m e="way" k="highway" v="residential|living_street">
<m zoom-min="15">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.0"/>
</m>
<m zoom-max="14" zoom-min="13">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="0.8"/>
</m>
<m zoom-min="13">
<text use="road_label" font-size="12" priority="13"/>
</m>
</m>
<m e="way" k="highway" v="unclassified|road">
<m zoom-min="15">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.2"/>
</m>
<m zoom-max="14" zoom-min="12">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.0"/>
</m>
<m zoom-min="12">
<text use="road_label" font-size="12" priority="13"/>
</m>
</m>
<m e="way" k="highway" v="tertiary|tertiary_link">
<m zoom-min="14">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.4"/>
</m>
<m zoom-max="13" zoom-min="11">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.2"/>
</m>
<m zoom-min="11">
<text use="road_label" font-size="12" priority="11"/>
</m>
</m>
<m e="way" k="highway" v="secondary|secondary_link">
<m zoom-min="13">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.5"/>
</m>
<m zoom-max="12" zoom-min="10">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.3"/>
</m>
<m zoom-min="10">
<text use="road_label" fil="#444444" font-size="13" priority="10"/>
</m>
</m>
<m e="way" k="highway" v="primary|primary_link">
<m zoom-min="12">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.7"/>
</m>
<m zoom-max="11" zoom-min="8">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.5"/>
</m>
<m zoom-min="8">
<text use="road_label" fill="#222222" display="ifspace" font-size="13" priority="10"/>
</m>
</m>
<!--
<m e="way" k="highway" v="motorway|motorway_link|trunk|trunk_link">
<line stroke="#dbb042" stroke-width="1.5"/>
<pathText font-size="13" font-style="bold" k="name" priority="15" stroke="#ffffff"
stroke-width="3"/>
</m>
-->
<!-- path - allows bicycles by default. Yellow dash indicates mountain bike preferred, white dash -->
<!-- indicates bicycle access but no special mountain bike information -->
<m e="way" k="highway" v="path">
<m select="first">
<!-- TODO - different treatment based on difficulty? -->
<m k="mtb:scale" v="2|3|4|5|6">
<line stroke="#FF0000" stroke-width="0.5" stroke-dasharray="4,4" />
</m>
<m k="mtb:scale" v="0">
<line stroke="#5fbd18" stroke-width="0.5" stroke-dasharray="4,4" />
</m>
<m k="mtb:scale" v="1">
<line stroke="#ea27ae" stroke-width="0.5" stroke-dasharray="4,4" />
</m>
<m k="cycleway" v="*">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line use="unpaved_cycling_path" />
</m>
<m k="surface" v="~">
<line use="cycling_path"/>
</m>
</m>
<m k="bicycle" v="designated">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line use="unpaved_cycling_path" />
</m>
<m k="surface" v="~">
<line use="cycling_path"/>
</m>
</m>
<m k="~" v="~">
<line use="path"/>
</m>
</m>
</m>
<m e="way" k="highway" v="steps">
<line use="path" stroke-dasharray="2,2"/>
</m>
<!-- highway=cycleway indicates a separate way used for cycling -->
<m e="way" k="highway" v="cycleway">
<line use="cycling_path"/>
<m zoom-min="13">
<text use="road_label" fill="#222222" font-size="13" priority="11"/>
</m>
</m>
<!-- highway one-way markers -->
<m k="tunnel" v="~|false|no">
<m k="area" v="~|false|no">
<m k="highway">
<m k="oneway" v="yes|true" zoom-min="15">
<lineSymbol src="file:/icons/oneway.svg" symbol-percent="125" repeat-gap="175"/>
</m>
</m>
</m>
</m>
<!-- /roads -->
<!-- poi -->
<m e="node" k="amenity">
<m v="bank|atm" zoom-min="15">
<symbol id="bank" priority="1" src="file:/icons/bank-15-bg.svg"/>
</m>
<m v="beach" zoom-min="15">
<symbol id="beach" priority="1" src="file:/icons/beach-15-bg.svg"/>
</m>
<m v="grave_yard" zoom-min="15">
<symbol id="cemetery" priority="1" src="file:/icons/cemetery-15-bg.svg"/>
</m>
<m v="university" zoom-min="15">
<symbol id="college" priority="1" src="file:/icons/college-15-bg.svg"/>
</m>
<m v="convenience" zoom-min="15">
<symbol id="convenience" priority="1" src="file:/icons/convenience-15-bg.svg"/>
</m>
<m v="hospital" zoom-min="15">
<symbol id="hospital" priority="1" src="file:/icons/hospital-15-bg.svg"/>
<text use="poi_label"/>
</m>
<m e="node" k="tourism" v="information" zoom-min="15">
<symbol id="information" priority="1" src="file:/icons/information-15-bg.svg"/>
</m>
<m v="library" zoom-min="15">
<symbol id="library" priority="1" src="file:/icons/library-15-bg.svg"/>
<text use="poi_label"/>
</m>
<!-- <m e="node" k="amenity" v="park" zoom-min="15">
<symbol priority="1" id="park" src="file:/icons/park-15-bg.svg" />
</m> -->
<!-- <m e="node" k="amenity" v="parking" zoom-min="13">
<symbol priority="1" id="parking" src="file:/icons/parking-15-bg.svg" />
</m> -->
<m v="pharmacy" zoom-min="15">
<symbol id="pharmacy" priority="1" src="file:/icons/pharmacy-15-bg.svg"/>
<text use="poi_label"/>
</m>
<m v="police" zoom-min="15">
<symbol id="police" priority="1" src="file:/icons/police-15-bg.svg"/>
</m>
<m v="toilets" zoom-min="15">
<symbol display="always" id="toilet" priority="2" src="file:/icons/toilet-15-bg.svg"/>
<text use="poi_label"/>
</m>
<m v="drinking_water" zoom-min="15">
<symbol display="always" id="drinking-water" priority="3"
src="file:/icons/drinking-water-15-bg.svg"/>
<text use="poi_label"/>
</m>
<m v="cafe" zoom-min="15">
<symbol display="always" id="cafe" priority="5" src="file:/icons/cafe-15-bg.svg"/>
<text use="poi_label"/>
</m>
<m v="bicycle_rental" zoom-min="15">
<symbol display="always" id="bicycle" priority="5"
src="file:/icons/bicycle-15-bg.svg"/>
</m>
</m>
<m e="node" k="tourism">
<m v="picnic_site" zoom-min="15">
<symbol id="picnic-site" priority="1" src="file:/icons/picnic-site-15-bg.svg"/>
</m>
<m v="camp_site" zoom-min="15">
<symbol id="campsite" priority="2" src="file:/icons/campsite-15-bg.svg"/>
<text use="poi_label"/>
</m>
</m>
<m e="node" k="shop">
<m v="supermarket" zoom-min="15">
<symbol display="always" id="grocery" priority="4"
src="file:/icons/grocery-15-bg.svg"/>
</m>
<m v="bicycle" zoom-min="15">
<symbol display="always" id="bicycle" priority="5"
src="file:/icons/bicycle-15-bg.svg"/>
<text use="poi_label"/>
</m>
</m>
<!-- place labels -->
<m e="node" k="place">
<m v="locality" zoom-min="13">
<caption style="bold" fill="#606060" k="name" priority="5" size="11"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="suburb|neighborhood" zoom-min="12">
<caption style="bold_italic" fill="#404040" k="name" priority="4" size="12"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="village|hamlet" zoom-min="12">
<caption style="bold_italic" fill="#404040" k="name" priority="3" size="12"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="island" zoom-min="10">
<caption style="bold_italic" fill="#404040" k="name" priority="5" size="12"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="town">
<caption style="bold_italic" fill="#404040" k="name" priority="2" size="13"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="city">
<caption style="bold_italic" dy="14" fill="#000000" k="name" priority="1" size="15"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
</m>
<!-- /place -->
</rendertheme>
<?xml version="1.0" encoding="UTF-8"?>
<rendertheme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" map-background="#e8e5d8"
map-background-outside="#e8e5d8" version="5" xmlns="http://mapsforge.org/renderTheme"
xsi:schemaLocation="http://mapsforge.org/renderTheme https://raw.githubusercontent.com/mapsforge/vtm/master/resources/rendertheme.xsd">
<!-- AREA STYLES -->
<style-area fill="#adccde" id="water" mesh="true"/>
<!-- LINE CASINGS -->
<!-- LINE STYLES -->
<style-line id="path" stroke="#606060" stroke-linecap="round" stroke-width="0.5"/>
<style-line id="paved_cycleway_casing" stroke="#58865d" width="1.2" />
<style-line id="paved_cycleway_fill" stroke="#f4ffea" stroke-linecap="round" stroke-width="0.8"/>
<style-line id="unpaved_casing" stroke="#905b2e" width="1.2" />
<style-line id="unpaved_fill" stroke="#f3d6be" stroke-linecap="round" stroke-width="0.8"/>
<style-line id="cycling_path" stroke="#58865d" width="0.8" />
<style-line id="unpaved_cycling_path" stroke="#905b2e" width="0.8" />
<!-- Base style for fixed width lines -->
<style-line cap="butt" fix="true" id="fix" width="1.0"/>
<!-- Water line styles -->
<style-line cap="butt" id="water" stroke="#adccde" width="1.0"/>
<style-line fix="false" id="river" stroke="#adccde" use="water"/>
<!-- Text styles -->
<style-text id="poi_label" caption="true" dy="-15" fill="#2d51bc" font-family="thin"
k="name" size="11" stroke="#ffffff" stroke-width="2.0" style="bold" />
<!-- Road Labels - need to set priority and font-size where used, and override fill if needed -->
<style-text id="road_label" k="name" font-family="thin" fill="#00666666" stroke="#00ffffff" stroke-width="2.0" font-style="bold"/>
<!-- STYLE ASSIGNMENT RULES -->
<!-- Land vs. sea -->
<m e="way" k="natural" v="issea|sea">
<area use="water"/>
</m>
<m e="way" k="natural" v="nosea">
<area mesh="true" fill="#e6e8c2"/>
</m>
<!-- Closed ways (except highways and buildings -->
<m closed="yes" e="way" k="highway|building" v="~">
<m k="natural">
<m k="natural" v="grassland|scrub">
<area mesh="true" fill="#d8dfc5"/>
</m>
</m>
<m k="landuse|natural" v="forest|wood">
<area mesh="true" fill="#c9dba6"/>
</m>
<!-- keep grass above forest:wood and leisure:park! -->
<!-- http://wiki.openstreetmap.org/wiki/Proposed_features/conservation,
often serves as background for leisure=nature_reserve -->
<m k="landuse" v="grass">
<area mesh="true" fill="#c4deab"/>
</m>
<m k="landuse" v="reservoir|basin">
<area use="water"/>
</m>
<!-- End landuse, natural, leisure, tourism, amenity areas -->
</m> <!--- End of closed ways -->
<!-- Waterways (rivers, streams, etc.) -->
<m e="way" k="waterway">
<m v="stream" zoom-min="13">
<line use="water" width="0.4"/>
</m>
<m v="canal">
<line use="river" width="-0.3"/>
</m>
<m v="river">
<m zoom-min="12">
<line use="river" width="0.5"/>
</m>
<m zoom-min="10">
<line use="water" width="0.3"/>
</m>
<m zoom-min="8">
<line use="water" width="0.1"/>
</m>
</m>
<m v="riverbank|dock">
<!-- Using mesh=true for areas causes problems below ZL 12 -->
<!-- Using just lines at lower ZL is not a good solution (big rivers look bad) -->
<area use="water" mesh="false"/>
</m>
<m v="weir">
<line stroke="#adccde" use="fix"/>
</m>
<m v="dam" zoom-min="12">
<line stroke="#ababab" use="fix" width="0.2"/>
</m>
<m k="lock" v="yes|true">
<line stroke="#f8f8f8" use="fix" width="0.5"/>
</m>
</m>
<!-- Closed natural water features (e.g. lakes) -->
<m e="way">
<m closed="yes" k="natural" v="water">
<area use="water" />
<caption font-family="thin" area-size="0.2" fill="#000000" k="name" size="14"/>
</m>
</m>
<!-- partially transparent areas, draw later. these can overlap water and land -->
<!--
<m k="landuse" v="military">
<area mesh="true" fill="#99b89488"/>
<caption font-family="thin" area-size="0.2" fill="#000000" k="name" size="14"/>
</m>
-->
<!-- Railway -->
<m e="way" k="railway">
<m v="station">
<area fill="#dbdbc9" stroke="#707070" stroke-width="0.3"/>
</m>
<!-- Railway bridge casings (TODO - needs work?) -->
<m zoom-min="14">
<m k="bridge" v="yes|true">
<m v="tram|subway|light_rail|narrow_gauge">
<line cap="butt" fix="true" stroke="#777777" width="0.9"/>
</m>
<m v="rail">
<line cap="butt" fix="true" stroke="#777777" width="0.9"/>
</m>
</m>
</m>
<!--- Rail: use a line pattern above zoom 13 -->
<m v="rail|turntable" zoom-min="14">
<line cap="butt" fix="true" stipple="10" stipple-stroke="#ffffff"
stipple-width="0.8" stroke="#666666" width="2.0"/>
</m>
<m v="rail|turntable" zoom-max="13">
<line cap="butt" fix="true" stroke="#ddaa9988" width="1.0"/>
</m>
<m v="tram" zoom-min="15">
<line fix="true" stroke="#887766" width="1.0"/>
</m>
<m v="light_rail|subway|narrow_gauge" zoom-min="14">
<line stroke="#999999" stroke-width="0.25"/>
</m>
<!-- Other tag values such as disused, spur, abandoned, preserved... -->
<m k="railway" v="~">
<line cap="butt" fix="true" stroke="#cccccc" width="0.6"/>
</m>
</m>
<!-- airport area features -->
<m e="way" k="aeroway" v="aerodrome|apron|helipad">
<area mesh="true" fill="#c7c7b1"/>
<caption font-family="thin" area-size="0.2" fill="#000000" k="name" size="14"/>
</m>
<m e="way" k="aeroway" v="terminal">
<area mesh="true" fill="#c2c180"/>
</m>
<m e="way" k="aeroway" v="runway|taxiway">
<m k="*" v="*" zoom-min="10" zoom-max="12">
<line stroke="#a6a5a2" stroke-width="1.5"/>
</m>
<m k="*" v="*" zoom-min="13">
<line stroke="#a6a5a2" stroke-width="2.0"/>
</m>
</m>
<!-- buildings -->
<m e="way" k="building" v="*" zoom-min="17">
<area mesh="true" fill="#a29186" stroke="#958175" stroke-width="0.25"/>
</m>
<!-- bridleway (horses) -->
<m e="way" k="highway" v="bridleway">
<line use="path" stroke="#905b2e"/>
</m>
<!-- footway (separate bicycle allowed from other)-->
<!-- TODO - need to add sidewalk as renderable=false in tag-mapping.xml -->
<m e="way" k="highway" v="footway">
<m k="footway" v="sidewalk" zoom-min="14">
<line stroke="#e35959" stroke-dasharray="3,1" stroke-linecap="round" stroke-width="0.25"/>
</m>
<m k="~" v="~" zoom-min="14">
<line use="path"/>
</m>
</m>
<!-- highway=track - mostly agricultural and farm roads -->
<m e="way" k="highway" v="track">
<m k="tracktype" v="grade1">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line use="unpaved_casing"/>
<line use="unpaved_fill" />
</m>
<m k="surface" v="~" zoom-min="12">
<line stroke="#707070" width="1.8" />
</m>
<m k="surface" v="~" >
<line stroke="#FFFFFF" stroke-width="1.4" />
</m>
</m>
<m k="tracktype" v="grade2|grade3">
<line use="unpaved_casing"/>
<line use="unpaved_fill" />
</m>
<m k="tracktype" v="grade4|grade5|~" zoom-min="14">
<line use="path"/>
</m>
</m>
<!-- service roads - separate parking aisle and driveway from other service roads -->
<m e="way" k="highway" v="service">
<m k="service" v="driveway" zoom-min="18">
<line stroke="#f2f5ed" stroke-linecap="round" stroke-dasharray="15,5" stroke-width="0.3"/>
</m>
<m k="service" v="parking_aisle" zoom-min="15">
<line stroke="#99f2f5ed" stroke-linecap="round" stroke-width="0.5"/>
</m>
<!-- TODO - change color/style for alleys to differentiate from regular service roads? -->
<m k="service" v="alley" zoom-min="15">
<line stroke="#99f2f5ed" stroke-linecap="round" stroke-width="0.75"/>
</m>
<m k="service" v="~">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line use="unpaved_casing" />
<line use="unpaved_fill" />
</m>
<m k="surface" v="~">
<line stroke="#707070" stroke-linecap="butt" stroke-width="1.4" />
<line stroke="#FFFFFF" stroke-linecap="butt" stroke-width="1" />
</m>
</m>
</m>
<!-- pedestrian highways -->
<m e="way" k="highway" v="pedestrian">
<m zoom-min="14">
<line stroke="#f2f5ed" stroke-linecap="round" stroke-width="0.8"/>
</m>
</m>
<!-- path - allows bicycles by default. Yellow dash indicates mountain bike preferred, white dash -->
<!-- indicates bicycle access but no special mountain bike information -->
<m e="way" k="highway" v="path">
<m select="first">
<!-- TODO - different treatment based on difficulty? -->
<m k="mtb:scale" v="2|3|4|5|6">
<line stroke="#FF0000" stroke-width="0.5" stroke-dasharray="4,4" />
</m>
<m k="mtb:scale" v="0">
<line stroke="#5fbd18" stroke-width="0.5" stroke-dasharray="4,4" />
</m>
<m k="mtb:scale" v="1">
<line stroke="#ea27ae" stroke-width="0.5" stroke-dasharray="4,4" />
</m>
<m k="cycleway" v="*">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line use="unpaved_cycling_path" />
</m>
<m k="surface" v="~">
<line use="cycling_path"/>
</m>
</m>
<m k="bicycle" v="yes|designated">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel">
<line use="unpaved_cycling_path" />
</m>
<m k="surface" v="~">
<line use="cycling_path"/>
</m>
</m>
<m k="~" v="~" zoom-min="14">
<line use="path"/>
</m>
</m>
</m>
<m e="way" k="highway" v="steps" zoom-min="14">
<line use="path" stroke-dasharray="2,2"/>
</m>
<m e="way" k="highway" v="residential|living_street">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="12">
<line use="unpaved_casing" width="1.4"/>
</m>
<m k="surface" v="~">
<m k="bridge" v="yes|true">
<line stroke="#707070" stroke-linecap="butt" stroke-width="1.4"/>
</m>
<m k="bridge" v="~">
<line stroke="#707070" stroke-linecap="round" stroke-width="1.4"/>
</m>
</m>
<m zoom-min="15">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.0"/>
</m>
<m zoom-max="14" zoom-min="12">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.2"/>
</m>
</m>
<m e="way" k="highway" v="unclassified|road">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="12">
<line use="unpaved_casing" width="1.6"/>
</m>
<m k="surface" v="~">
<m k="bridge" v="yes|true">
<line stroke="#707070" stroke-linecap="butt" stroke-width="1.7"/>
</m>
<m k="bridge" v="~">
<line stroke="#707070" stroke-linecap="round" stroke-width="1.7"/>
</m>
</m>
<m zoom-min="15">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.4"/>
</m>
<m zoom-max="14" zoom-min="12">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="1.4"/>
</m>
</m>
<m e="way" k="highway" v="tertiary|tertiary_link">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="12">
<line use="unpaved_casing" width="1.8"/>
</m>
<m k="surface" v="~">
<m k="bridge" v="yes|true">
<line stroke="#707070" stroke-linecap="butt" stroke-width="2.6"/>
</m>
<m k="bridge" v="~">
<line stroke="#707070" stroke-linecap="round" stroke-width="2.6"/>
</m>
</m>
<m zoom-min="14">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="2"/>
</m>
<m zoom-max="13" zoom-min="11">
<line stroke="#ffffff" stroke-linecap="round" stroke-width="2"/>
</m>
</m>
<m e="way" k="highway" v="secondary|secondary_link">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="10">
<line use="unpaved_casing" width="1.9"/>
</m>
<m k="surface" v="~">
<m k="bridge" v="yes|true">
<line stroke="#aba071" stroke-linecap="butt" stroke-width="3"/>
</m>
<m k="bridge" v="~">
<line stroke="#aba071" stroke-linecap="round" stroke-width="3"/>
</m>
</m>
<m zoom-min="13">
<line stroke="#ffff99" stroke-linecap="round" stroke-width="2.4"/>
</m>
<m zoom-max="12" zoom-min="10">
<line stroke="#ffff99" stroke-linecap="round" stroke-width="2"/>
</m>
</m>
<m e="way" k="highway" v="primary|primary_link">
<m k="surface" v="unpaved|compacted|ground|gravel|dirt|grass|sand|fine_gravel" zoom-min="10">
<line use="unpaved_casing" width="2.1"/>
</m>
<m k="surface" v="~">
<m k="bridge" v="yes|true">
<line stroke="#805739" stroke-linecap="butt" stroke-width="3"/>
</m>
<m k="bridge" v="~">
<line stroke="#805739" stroke-linecap="round" stroke-width="3"/>
</m>
</m>
<m zoom-min="12">
<line stroke="#fcd6a4" stroke-linecap="round" stroke-width="2.4"/>
</m>
<m zoom-max="11" zoom-min="8">
<line stroke="#fcd6a4" stroke-linecap="round" stroke-width="2"/>
</m>
</m>
<m e="way" k="network" v="icn|ncn|rcn">
<line stroke="#FF0000" stroke-linecap="round" stroke-width="2"/>
<pathText k="ref" font-style="bold" font-size="10" fill="#000000" stroke="#ffffff" stroke-width="1.5" />
</m>
<!-- motorways and trunk roads - no casing -->
<m e="way" k="highway" v="motorway|motorway_link|trunk|trunk_link">
<line stroke="#dbb042" stroke-width="1.8"/>
<text use="road_label" fill="#444444" font-size="13" priority="15"/>
</m>
<!-- highway=cycleway indicates a separate way used for cycling -->
<m e="way" k="highway" v="cycleway">
<!--<line use="cycling_path"/> -->
<line use="paved_cycleway_casing"/>
<line use="paved_cycleway_fill"/>
</m>
<!-- highway one-way markers -->
<!--
<m k="tunnel" v="~|false|no">
<m k="area" v="~|false|no">
<m k="highway">
<m k="oneway" v="yes|true" zoom-min="15">
<lineSymbol src="file:/icons/oneway.svg" symbol-percent="125" repeat-gap="175"/>
</m>
</m>
</m>
</m>
-->
<!-- /roads -->
<!-- poi -->
<m e="node" k="amenity">
<m v="beach" zoom-min="15">
<symbol id="beach" priority="1" src="file:/icons/beach-15-bg.svg"/>
</m>
<m v="convenience" zoom-min="15">
<symbol id="convenience" priority="1" src="file:/icons/convenience-15-bg.svg"/>
</m>
<!-- <m e="node" k="amenity" v="park" zoom-min="15">
<symbol priority="1" id="park" src="file:/icons/park-15-bg.svg" />
</m> -->
<!-- <m e="node" k="amenity" v="parking" zoom-min="13">
<symbol priority="1" id="parking" src="file:/icons/parking-15-bg.svg" />
</m> -->
<m v="toilets" zoom-min="15">
<symbol display="always" id="toilet" priority="2" src="file:/icons/toilet-15-bg.svg"/>
</m>
<m v="drinking_water" zoom-min="15">
<symbol display="always" id="drinking-water" priority="3"
src="file:/icons/drinking-water-15-bg.svg"/>
</m>
<m v="cafe" zoom-min="15">
<symbol display="always" id="cafe" priority="5" src="file:/icons/cafe-15-bg.svg"/>
</m>
</m>
<m e="node" k="tourism">
<m v="picnic_site" zoom-min="15">
<symbol id="picnic-site" priority="1" src="file:/icons/picnic-site-15-bg.svg"/>
</m>
<m v="camp_site" zoom-min="15">
<symbol id="campsite" priority="2" src="file:/icons/campsite-15-bg.svg"/>
<text use="poi_label"/>
</m>
</m>
<m e="node" k="shop">
<m v="supermarket" zoom-min="15">
<symbol display="always" id="grocery" priority="4"
src="file:/icons/grocery-15-bg.svg"/>
</m>
<m v="bicycle" zoom-min="15">
<symbol display="always" id="bicycle" priority="5"
src="file:/icons/bicycle-15-bg.svg"/>
<text use="poi_label"/>
</m>
</m>
<!-- place labels -->
<m e="node" k="place">
<m v="locality" zoom-min="13">
<caption style="bold" fill="#606060" k="name" priority="5" size="11"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="suburb|neighborhood" zoom-min="12">
<caption style="bold" fill="#404040" k="name" priority="4" size="12"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="village|hamlet" zoom-min="12">
<caption style="bold" fill="#404040" k="name" priority="3" size="14"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="island" zoom-min="10">
<caption style="bold" fill="#404040" k="name" priority="5" size="12"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="town">
<caption style="bold" fill="#404040" k="name" priority="2" size="15"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
<m v="city">
<caption style="bold" dy="14" fill="#000000" k="name" priority="1" size="16"
font-family="thin" stroke="#ffffff" stroke-width="2.0" />
</m>
</m>
<!-- /place -->
</rendertheme>
@macdet
Copy link
Author

macdet commented Apr 21, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment