Skip to content

Commit c60a926

Browse files
authored
feat: improve map styling (#3742)
Signed-off-by: Kyle Corry <kylecorry31@gmail.com>
1 parent 1cac1d5 commit c60a926

9 files changed

Lines changed: 282 additions & 78 deletions

File tree

app/src/main/assets/mapsforge/trail_sense_outdoors.xml

Lines changed: 92 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -15,41 +15,89 @@
1515
<area fill="#AAD3DF" />
1616
</rule>
1717

18+
<!-- TODO: Reef -->
19+
1820
<!-- Land -->
1921
<rule e="way" k="natural" v="nosea|land" zoom-min="0">
2022
<area fill="#C4CCB0" />
2123
</rule>
2224

25+
<!-- Barren Land (Rock/Sand/Clay) -->
26+
2327
<!-- Sand -->
24-
<rule e="way" k="natural|landuse" v="beach|sand|desert" zoom-min="6">
28+
<rule
29+
e="way"
30+
k="natural|landuse|surface"
31+
v="beach|sand|desert|dune"
32+
zoom-min="6"
33+
>
2534
<area fill="#E8E1B6" />
2635
</rule>
2736

2837
<!-- Rock -->
38+
<!-- TODO: Natural beach w/ surface=pebbles -->
39+
<!-- TODO: Shoal treated like reef? -->
2940
<rule
3041
e="way"
31-
k="natural|landuse"
32-
v="bare_rock|fell|rock|scree|quarry"
42+
k="natural|landuse|surface"
43+
v="scree|shingle|gravel|quarry|bare_rock|pebbles|stones|shoal|blockfield|rock"
3344
zoom-min="6"
3445
>
3546
<area fill="#CAC3B8" />
3647
</rule>
3748

38-
<!-- Vegetation -->
49+
<!-- Clay -->
50+
<rule e="way" k="natural|wetland" v="mud" zoom-min="6">
51+
<!-- TODO: Use another color -->
52+
<area fill="#CAC3B8" />
53+
</rule>
54+
55+
<!-- Tundra -->
56+
<rule e="way" k="natural" v="tundra|fell" zoom-min="6">
57+
<!-- TODO: Use another color -->
58+
<area fill="#BBC6A8" />
59+
</rule>
60+
61+
<!-- Grassland/Herbaceous -->
62+
<rule
63+
e="way"
64+
k="natural|landuse|surface|leisure"
65+
v="grassland|meadow|grass|greenfield|recreation_ground|garden|park|village_green|greenery|farmland|allotments"
66+
zoom-min="6"
67+
>
68+
<area fill="#BBC6A8" />
69+
</rule>
70+
71+
<rule e="way" k="natural" v="wetland" zoom-min="6">
72+
<rule e="way" k="wetland" v="marsh|saltmarsh|wet_meadow|reedbed">
73+
<area fill="#BBC6A8" />
74+
</rule>
75+
</rule>
76+
77+
<!-- Scrub -->
3978
<rule
4079
e="way"
4180
k="natural|landuse"
42-
v="grassland|heath|scrub|allotments|cemetery|farm|farmland|farmyard|field|grass|meadow|orchard|park|garden|common|green|dog_park|recreation_ground|graveyard|village_green|vineyard"
81+
v="heath|scrub|shrub|vineyard"
4382
zoom-min="6"
4483
>
84+
<!-- TODO: Use another color -->
4585
<area fill="#BBC6A8" />
4686
</rule>
4787

48-
<!-- Forest -->
49-
<rule e="way" k="natural|landuse" v="wood|forest" zoom-min="6">
88+
<!-- Trees -->
89+
<rule e="way" k="natural|landuse" v="wood|forest|orchard" zoom-min="6">
5090
<area fill="#B5C6A2" />
5191
</rule>
5292

93+
<!-- Swamps and mangroves also gets forest styling -->
94+
<!-- TODO: Separate styling for mangroves since it is both shrub and trees -->
95+
<rule e="way" k="natural" v="wetland" zoom-min="6">
96+
<rule e="way" k="wetland" v="swamp|mangrove">
97+
<area fill="#B5C6A2" />
98+
</rule>
99+
</rule>
100+
53101
<!-- Human -->
54102
<rule
55103
e="way"
@@ -66,14 +114,14 @@
66114
</rule>
67115

68116
<!-- Wetlands -->
117+
<!-- TODO: wetland type might matter -->
69118
<rule e="way" k="natural" v="marsh|wetland" zoom-min="6">
70-
<area fill="#C4D1BB" />
71-
<!-- TODO: Icon needed -->
72-
<!-- <area
73-
src=""
74-
symbol-height="40"
75-
symbol-width="40"
76-
/> -->
119+
<area fill="#7FC4D1BB" />
120+
<area
121+
src="@drawable/swamp_pattern#8FB47A!"
122+
symbol-height="24"
123+
symbol-width="24"
124+
/>
77125
</rule>
78126

79127
<!-- Major bodies of water -->
@@ -99,7 +147,7 @@
99147
<!-- TODO: waterway dam -->
100148
<!-- TODO: natural coastline -->
101149

102-
<!-- Ice -->
150+
<!-- Perennial Ice/Snow -->
103151
<rule e="way" k="natural" v="glacier" zoom-min="8">
104152
<area fill="#F5F4F2" />
105153
</rule>
@@ -113,8 +161,8 @@
113161
zoom-min="10"
114162
>
115163
<rule e="way" k="access" v="~|private|no">
116-
<line stroke="#8FB47A" stroke-width="1.0" />
117-
<line dy="1.0" stroke="#668FB47A" stroke-width="2.0" />
164+
<line stroke="#5b8344" stroke-width="0.5" />
165+
<line dy="1.0" stroke="#6675a35b" stroke-width="2.0" />
118166
</rule>
119167
</rule>
120168

@@ -126,7 +174,7 @@
126174
closed="yes"
127175
>
128176
<rule e="way" k="access" v="~|private|no">
129-
<area fill="#668FB47A" />
177+
<area fill="#6675a35b" />
130178
</rule>
131179
</rule>
132180

@@ -380,6 +428,7 @@
380428
priority="-100"
381429
stroke="#FFFFFF"
382430
stroke-width="2.0"
431+
dy="3"
383432
/>
384433
</rule>
385434

@@ -388,11 +437,11 @@
388437
display="order"
389438
fill="#000000"
390439
font-size="12"
391-
font-style="bold"
392440
k="name"
393441
priority="-100"
394442
stroke="#FFFFFF"
395443
stroke-width="2.0"
444+
dy="2"
396445
/>
397446
</rule>
398447

@@ -424,6 +473,7 @@
424473
priority="-8"
425474
stroke="#FFFFFF"
426475
stroke-width="2"
476+
dy="2"
427477
/>
428478
</rule>
429479
<rule
@@ -705,10 +755,9 @@
705755
</rule>
706756
</rule>
707757
<rule e="node" k="natural" v="peak" zoom-min="9">
708-
<!-- TODO: Icon needed -->
709758
<symbol
710759
id="peak"
711-
src="@drawable/ic_arrow_target#000000"
760+
src="@drawable/triangle#000000!"
712761
symbol-height="12"
713762
symbol-width="12"
714763
/>
@@ -764,10 +813,9 @@
764813
</rule>
765814
</rule>
766815
<rule e="node" k="natural" v="volcano" zoom-min="11">
767-
<!-- TODO: Icon needed -->
768816
<symbol
769817
id="volcano"
770-
src="@drawable/ic_arrow_target#000000"
818+
src="@drawable/volcano#000000"
771819
symbol-height="12"
772820
symbol-width="12"
773821
/>
@@ -849,10 +897,9 @@
849897
/>
850898
</rule>
851899
<rule e="any" k="tourism" v="alpine_hut|wilderness_hut" zoom-min="12">
852-
<!-- TODO: Better image needed -->
853900
<symbol
854901
id="alpine-hut"
855-
src="@drawable/ic_house#000000"
902+
src="@drawable/ic_cabin#000000"
856903
symbol-height="16"
857904
symbol-width="16"
858905
/>
@@ -923,14 +970,13 @@
923970
symbol-width="16"
924971
/>
925972
</rule>
926-
<rule e="node" k="amenity" v="bench" zoom-min="15">
927-
<!-- TODO: Icon needed -->
928-
<symbol
929-
src="@drawable/ic_picnic#000000"
930-
symbol-height="16"
931-
symbol-width="16"
932-
/>
933-
</rule>
973+
<!-- <rule e="node" k="amenity" v="bench" zoom-min="15">-->
974+
<!-- <symbol-->
975+
<!-- src="@drawable/bench#000000"-->
976+
<!-- symbol-height="16"-->
977+
<!-- symbol-width="16"-->
978+
<!-- />-->
979+
<!-- </rule>-->
934980
<rule e="any" k="amenity" v="telephone" zoom-min="15">
935981
<symbol
936982
src="@drawable/ic_phone#000000"
@@ -939,7 +985,6 @@
939985
/>
940986
</rule>
941987
<rule e="any" k="amenity" v="drinking_water" zoom-min="16">
942-
<!-- TODO: Icon needed -->
943988
<symbol
944989
src="@drawable/ic_category_water#000000"
945990
symbol-height="16"
@@ -953,6 +998,13 @@
953998
symbol-width="16"
954999
/>
9551000
</rule>
1001+
<rule e="any" k="amenity" v="ranger_station" zoom-min="15">
1002+
<symbol
1003+
src="@drawable/ranger_station#000000"
1004+
symbol-height="16"
1005+
symbol-width="16"
1006+
/>
1007+
</rule>
9561008
</rule>
9571009

9581010
<!-- Tourism and trail information -->
@@ -993,7 +1045,12 @@
9931045
symbol-width="16"
9941046
/>
9951047
</rule>
996-
<rule e="any" k="historic|building" v="ruins|archaeological_site" zoom-min="15">
1048+
<rule
1049+
e="any"
1050+
k="historic|building"
1051+
v="ruins|archaeological_site"
1052+
zoom-min="15"
1053+
>
9971054
<symbol
9981055
src="@drawable/ic_ruins#000000"
9991056
symbol-height="16"
@@ -1011,23 +1068,6 @@
10111068
</rule> -->
10121069

10131070
<!-- POI labels -->
1014-
<rule
1015-
e="any"
1016-
k="tourism|amenity|leisure"
1017-
v="drinking_water|picnic_site|toilets|bench|fountain|bicycle_rental"
1018-
zoom-min="18"
1019-
>
1020-
<caption
1021-
fill="#000000"
1022-
font-size="12"
1023-
font-style="bold"
1024-
k="name"
1025-
position="above"
1026-
stroke="#FFFFFF"
1027-
stroke-width="2.0"
1028-
/>
1029-
</rule>
1030-
10311071
<rule
10321072
e="any"
10331073
k="tourism|amenity|man_made|historic"

app/src/main/java/com/kylecorry/trail_sense/tools/beacons/domain/BeaconIcon.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import androidx.annotation.DrawableRes
44
import com.kylecorry.trail_sense.R
55
import com.kylecorry.trail_sense.shared.data.Identifiable
66

7-
// Last ID: 64
7+
// Last ID: 68
88
enum class BeaconIcon(
99
override val id: Long,
1010
@DrawableRes val icon: Int,
@@ -22,6 +22,7 @@ enum class BeaconIcon(
2222

2323
// Natural features
2424
Mountain(1, R.drawable.ic_altitude),
25+
Volcano(65, R.drawable.volcano),
2526
BodyOfWater(17, R.drawable.ic_tide_table),
2627
River(18, R.drawable.ic_river),
2728
Waterfall(20, R.drawable.ic_waterfall),
@@ -31,12 +32,14 @@ enum class BeaconIcon(
3132
TideHalf(50, R.drawable.ic_tide_half, isUserSelectable = false),
3233
Tree(21, R.drawable.tree),
3334
Field(37, R.drawable.ic_grass),
35+
Swamp(66, R.drawable.swamp),
3436
Plant(38, R.drawable.ic_category_natural),
3537
Track(62, R.drawable.paw),
3638

3739
// Amenities
3840
Food(12, R.drawable.ic_category_food),
3941
Picnic(36, R.drawable.ic_picnic),
42+
Bench(67, R.drawable.bench),
4043
WaterRefill(6, R.drawable.ic_category_water),
4144
Restroom(7, R.drawable.ic_restrooms),
4245
Phone(8, R.drawable.ic_phone),
@@ -60,6 +63,7 @@ enum class BeaconIcon(
6063
Bridge(43, R.drawable.ic_bridge),
6164
Lighthouse(44, R.drawable.ic_lighthouse),
6265
VisitorCenter(45, R.drawable.ic_visitor_center),
66+
RangerStation(68, R.drawable.ranger_station),
6367

6468
// Animals and Field Guide Tags
6569
Animal(51, R.drawable.paw, isUserSelectable = false),

0 commit comments

Comments
 (0)