@openhistoricalmap/map-styles 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,10 +21,19 @@
21
21
  "tiles": [
22
22
  "https://vtiles.staging.openhistoricalmap.org/maps/ne/{z}/{x}/{y}.pbf"
23
23
  ]
24
+ },
25
+ "osm_land": {
26
+ "type": "vector",
27
+ "tiles": [
28
+ "https://vtiles.staging.openhistoricalmap.org/maps/osm_land/{z}/{x}/{y}.pbf"
29
+ ],
30
+ "minzoom": 0,
31
+ "maxzoom": 22,
32
+ "scheme": "xyz"
24
33
  }
25
34
  },
26
- "sprite": "https://www.openhistoricalmap.org/map-styles/main/main_spritesheet",
27
- "glyphs": "https://www.openhistoricalmap.org/map-styles/fonts/{fontstack}/{range}.pbf",
35
+ "sprite": "http://localhost:8888/historical/historical_spritesheet",
36
+ "glyphs": "http://localhost:8888/fonts/{fontstack}/{range}.pbf",
28
37
  "layers": [
29
38
  {
30
39
  "id": "background",
@@ -48,7 +57,7 @@
48
57
  {
49
58
  "id": "land",
50
59
  "type": "fill",
51
- "source": "osm",
60
+ "source": "osm_land",
52
61
  "source-layer": "land",
53
62
  "minzoom": 0,
54
63
  "maxzoom": 24,
@@ -304,8 +313,6 @@
304
313
  "rgba(238, 229, 178, 1)",
305
314
  "basin",
306
315
  "rgba(144, 204, 203, 1)",
307
- "wetland",
308
- "rgba(227, 233, 226, 1)",
309
316
  "salt_pond",
310
317
  "rgba(236, 240, 241, 1)",
311
318
  "mud",
@@ -358,21 +365,6 @@
358
365
  ]
359
366
  }
360
367
  },
361
- {
362
- "id": "landuse_areas_z12_glacier-outline",
363
- "type": "line",
364
- "source": "osm",
365
- "source-layer": "landuse_areas",
366
- "minzoom": 9,
367
- "maxzoom": 24,
368
- "filter": ["==", ["get", "type"], "glacier"],
369
- "layout": {"visibility": "visible"},
370
- "paint": {
371
- "line-color": "rgba(180, 211, 218, 1)",
372
- "line-dasharray": [2, 2],
373
- "line-width": ["interpolate", ["linear"], ["zoom"], 9, 1, 14, 1.5]
374
- }
375
- },
376
368
  {
377
369
  "id": "landuse_areas_z12_food_and_farming",
378
370
  "type": "fill",
@@ -559,7 +551,7 @@
559
551
  "type": "fill",
560
552
  "source": "osm",
561
553
  "source-layer": "water_areas",
562
- "minzoom": 8,
554
+ "minzoom": 0,
563
555
  "maxzoom": 24,
564
556
  "layout": {"visibility": "visible"},
565
557
  "paint": {
@@ -574,6 +566,26 @@
574
566
  ]
575
567
  }
576
568
  },
569
+ {
570
+ "id": "water_areas-ne",
571
+ "type": "fill",
572
+ "source": "ne",
573
+ "source-layer": "water_areas",
574
+ "minzoom": 0,
575
+ "maxzoom": 8,
576
+ "layout": {"visibility": "visible"},
577
+ "paint": {
578
+ "fill-color": [
579
+ "interpolate",
580
+ ["linear"],
581
+ ["zoom"],
582
+ 0,
583
+ "rgba(185, 228, 228, 1)",
584
+ 10,
585
+ "rgba(126, 218, 218, 1)"
586
+ ]
587
+ }
588
+ },
577
589
  {
578
590
  "id": "landuse_areas_z12_watercover",
579
591
  "type": "fill",
@@ -599,40 +611,42 @@
599
611
  "rgba(144, 204, 203, 1)",
600
612
  "swimming_pool",
601
613
  "rgba(144, 204, 203, 1)",
614
+ "wetland",
615
+ "rgba(228, 242, 227, 1)",
602
616
  "transparent"
603
617
  ]
604
618
  ]
605
619
  }
606
620
  },
607
621
  {
608
- "id": "landuse_areas_z11_wetland_watercover",
622
+ "id": "wetlands_z11-pattern",
609
623
  "type": "fill",
610
624
  "source": "osm",
611
625
  "source-layer": "landuse_areas",
612
626
  "minzoom": 11,
613
627
  "maxzoom": 24,
614
- "filter": ["all", ["==", "type", "wetland"]],
628
+ "filter": ["==", ["get", "type"], "wetland"],
615
629
  "layout": {"visibility": "visible"},
616
- "paint": {"fill-color": "rgba(228, 242, 227, 1)"}
630
+ "paint": {
631
+ "fill-color": "rgba(255, 255, 255, 1)",
632
+ "fill-pattern": {
633
+ "stops": [[12, "cattails_space_60px"], [14, "cattails_space_70px"]]
634
+ }
635
+ }
617
636
  },
618
637
  {
619
- "id": "water_areas-ne",
620
- "type": "fill",
621
- "source": "ne",
622
- "source-layer": "water_areas",
623
- "minzoom": 0,
624
- "maxzoom": 8,
638
+ "id": "landuse_areas_z12_glacier-outline",
639
+ "type": "line",
640
+ "source": "osm",
641
+ "source-layer": "landuse_areas",
642
+ "minzoom": 9,
643
+ "maxzoom": 24,
644
+ "filter": ["==", ["get", "type"], "glacier"],
625
645
  "layout": {"visibility": "visible"},
626
646
  "paint": {
627
- "fill-color": [
628
- "interpolate",
629
- ["linear"],
630
- ["zoom"],
631
- 0,
632
- "rgba(185, 228, 228, 1)",
633
- 10,
634
- "rgba(126, 218, 218, 1)"
635
- ]
647
+ "line-color": "rgba(180, 211, 218, 1)",
648
+ "line-dasharray": [2, 2],
649
+ "line-width": ["interpolate", ["linear"], ["zoom"], 9, 1, 14, 1.5]
636
650
  }
637
651
  },
638
652
  {
@@ -671,22 +685,6 @@
671
685
  "fill-outline-color": "rgba(226, 223, 215, 1)"
672
686
  }
673
687
  },
674
- {
675
- "id": "wetlands_z11-pattern",
676
- "type": "fill",
677
- "source": "osm",
678
- "source-layer": "landuse_areas",
679
- "minzoom": 11,
680
- "maxzoom": 24,
681
- "filter": ["==", ["get", "type"], "wetland"],
682
- "layout": {"visibility": "visible"},
683
- "paint": {
684
- "fill-color": "rgba(255, 255, 255, 1)",
685
- "fill-pattern": {
686
- "stops": [[12, "cattails_space_60px"], [14, "cattails_space_70px"]]
687
- }
688
- }
689
- },
690
688
  {
691
689
  "id": "water_lines_stream_no_name",
692
690
  "type": "line",
@@ -1064,7 +1062,7 @@
1064
1062
  "type": "fill",
1065
1063
  "source": "osm",
1066
1064
  "source-layer": "transport_areas",
1067
- "minzoom": 14,
1065
+ "minzoom": 12,
1068
1066
  "maxzoom": 24,
1069
1067
  "filter": ["==", ["get", "type"], "aerodrome"],
1070
1068
  "layout": {"visibility": "visible"},
@@ -1078,7 +1076,7 @@
1078
1076
  "type": "fill",
1079
1077
  "source": "osm",
1080
1078
  "source-layer": "transport_areas",
1081
- "minzoom": 14,
1079
+ "minzoom": 12,
1082
1080
  "maxzoom": 24,
1083
1081
  "filter": ["==", ["get", "type"], "helipad"],
1084
1082
  "layout": {"visibility": "visible"},
@@ -2691,7 +2689,7 @@
2691
2689
  "type": "line",
2692
2690
  "source": "osm",
2693
2691
  "source-layer": "transport_lines",
2694
- "minzoom": 14,
2692
+ "minzoom": 12,
2695
2693
  "filter": ["==", ["get", "type"], "subway"],
2696
2694
  "layout": {"visibility": "visible"},
2697
2695
  "paint": {
@@ -2701,7 +2699,7 @@
2701
2699
  ["linear"],
2702
2700
  ["zoom"],
2703
2701
  12,
2704
- 1,
2702
+ 0.8,
2705
2703
  13,
2706
2704
  1,
2707
2705
  14,
@@ -3147,6 +3145,36 @@
3147
3145
  "line-dasharray": [0.1, 0.3]
3148
3146
  }
3149
3147
  },
3148
+ {
3149
+ "id": "roads_servicecase_z13",
3150
+ "type": "line",
3151
+ "source": "osm",
3152
+ "source-layer": "transport_lines",
3153
+ "minzoom": 13,
3154
+ "maxzoom": 24,
3155
+ "filter": [
3156
+ "all",
3157
+ ["in", ["get", "type"], ["literal", ["service"]]],
3158
+ ["!=", ["get", "bridge"], 1]
3159
+ ],
3160
+ "layout": {
3161
+ "visibility": "visible",
3162
+ "line-cap": "round",
3163
+ "line-join": "round"
3164
+ },
3165
+ "paint": {
3166
+ "line-color": "#D2D2D5",
3167
+ "line-width": [
3168
+ "interpolate",
3169
+ ["exponential", 1.5],
3170
+ ["zoom"],
3171
+ 13,
3172
+ 2,
3173
+ 18,
3174
+ 12
3175
+ ]
3176
+ }
3177
+ },
3150
3178
  {
3151
3179
  "id": "roads_residentialcase_z13",
3152
3180
  "type": "line",
@@ -3156,11 +3184,7 @@
3156
3184
  "maxzoom": 24,
3157
3185
  "filter": [
3158
3186
  "all",
3159
- [
3160
- "in",
3161
- ["get", "type"],
3162
- ["literal", ["residential", "service", "unclassified"]]
3163
- ],
3187
+ ["in", ["get", "type"], ["literal", ["residential", "unclassified"]]],
3164
3188
  ["!=", ["get", "bridge"], 1]
3165
3189
  ],
3166
3190
  "layout": {
@@ -3495,6 +3519,32 @@
3495
3519
  "line-dasharray": [1, 2]
3496
3520
  }
3497
3521
  },
3522
+ {
3523
+ "id": "roads_service",
3524
+ "type": "line",
3525
+ "source": "osm",
3526
+ "source-layer": "transport_lines",
3527
+ "minzoom": 12,
3528
+ "maxzoom": 24,
3529
+ "filter": ["in", ["get", "type"], ["literal", ["service"]]],
3530
+ "layout": {
3531
+ "visibility": "visible",
3532
+ "line-cap": "round",
3533
+ "line-join": "round"
3534
+ },
3535
+ "paint": {
3536
+ "line-color": "#ffffff",
3537
+ "line-width": [
3538
+ "interpolate",
3539
+ ["exponential", 1.5],
3540
+ ["zoom"],
3541
+ 12,
3542
+ 1.6,
3543
+ 18,
3544
+ 7
3545
+ ]
3546
+ }
3547
+ },
3498
3548
  {
3499
3549
  "id": "roads_residential",
3500
3550
  "type": "line",
@@ -3505,7 +3555,7 @@
3505
3555
  "filter": [
3506
3556
  "in",
3507
3557
  ["get", "type"],
3508
- ["literal", ["residential", "service", "unclassified"]]
3558
+ ["literal", ["residential", "unclassified"]]
3509
3559
  ],
3510
3560
  "layout": {
3511
3561
  "visibility": "visible",
@@ -5595,7 +5645,7 @@
5595
5645
  "source": "osm",
5596
5646
  "source-layer": "buildings_centroids",
5597
5647
  "minzoom": 16,
5598
- "filter": ["all"],
5648
+ "filter": ["!=", ["get", "type"], "parking"],
5599
5649
  "layout": {
5600
5650
  "icon-image": "{tourism}-18",
5601
5651
  "visibility": "visible",
@@ -5971,7 +6021,7 @@
5971
6021
  "source": "osm",
5972
6022
  "source-layer": "transport_areas",
5973
6023
  "minzoom": 10,
5974
- "maxzoom": 16,
6024
+ "maxzoom": 14,
5975
6025
  "filter": ["==", ["get", "type"], "aerodrome"],
5976
6026
  "layout": {"icon-image": "airport-18", "text-font": ["OpenHistorical"]}
5977
6027
  },
Binary file
Binary file
Binary file
Binary file
package/index.html ADDED
@@ -0,0 +1,54 @@
1
+ <html>
2
+ <head>
3
+ <script src="./node_modules/maplibre-gl/dist/maplibre-gl.js"></script>
4
+ <link href="./node_modules/maplibre-gl/dist/maplibre-gl.css" rel="stylesheet" />
5
+ </head>
6
+ <body>
7
+ <div id="map" style="width:100%;height:100%"></div>
8
+
9
+ <script type="module">
10
+ import StyleFlipperControl from "./node_modules/maplibre-gl-style-flipper/index.js";
11
+ const mapStyles = {
12
+ "historical": {
13
+ code: "historical",
14
+ image: "./img/historical.png",
15
+ url: "./historical/historical.json"
16
+ },
17
+ "japanese_scroll": {
18
+ code: "japanese_scroll",
19
+ image: "./img/japanese_scroll.png",
20
+ url: "./japanese_scroll/japanese_scroll.json"
21
+ },
22
+ "railway": {
23
+ code: "railway",
24
+ image: "./img/railway.png",
25
+ url: "./railway/railway.json"
26
+ },
27
+ "woodblock": {
28
+ code: "woodblock",
29
+ image: "./img/woodblock.png",
30
+ url: "./woodblock/woodblock.json"
31
+ },
32
+ };
33
+
34
+ var map = new maplibregl.Map({
35
+ container: 'map',
36
+ style: mapStyles["historical"].url,
37
+ center: [-74.033, 40.6259],
38
+ zoom: 11.73,
39
+ hash: true
40
+ })
41
+
42
+ // Create an instance of StyleFlipperControl
43
+ const styleFlipperControl = new StyleFlipperControl(mapStyles);
44
+
45
+ // Set the initial style code
46
+ styleFlipperControl.setCurrentStyleCode("historical");
47
+
48
+ // Add the control to the map
49
+ map.addControl(styleFlipperControl, "bottom-right");
50
+
51
+ </script>
52
+
53
+ </body>
54
+ </html>
@@ -0,0 +1,40 @@
1
+ # Documentation of Japanese Scrool Map Style
2
+ This style was created after the Woodblock style, and is inspired by the long-form Japanese scroll maps from ~1500/1600/1700s. In some ways, the longform map emulates the modern mapping scale so much more, because the scrolls gave so much more space for information and data. Of course, the amount of paper isn't the same as global or multiple zoom levels, but the premise of showing more information, and having a different visualization connection to what one sees in real life, on the ground, is why I wanted to make this style.
3
+ <br>
4
+ Obviously, the map style is limited to a rectangular screen size, and also doesn't have the same capacity to make you feel like you are strolling along a river, the coast, or a trail, but hopefully some of the core aesthetic elements bring this style into clearly being rooted in historical Japanese maps.
5
+ <br>
6
+ Below are the maps from which I pulled inspiration:
7
+ - [[Shandong, Zhili, Shengjing hai jiang tu]](https://www.loc.gov/resource/g7822cm.gct00259?r=0.375,0.043,0.25,0.154,0) Coastal map of Shandong, Zhili, and Shengjing
8
+ - [Map of the Sea and Land Routes from Edo to Nagasaki](https://www.loc.gov/resource/gdcwdl.wdl_14435_001/?sp=23&r=-0.08,-0.07,1.238,0.761,0), Kyoto : Nishida Shobee, 1672
9
+ - [Dai Nihon enkai yochi zenzu](https://www.loc.gov/resource/g7960m.gct00032/?sp=16&r=-0.192,0.859,0.973,0.598,0) [Japan, Hokkaido to Kyushu]
10
+ - [Song Xian he tu.](https://www.loc.gov/resource/g7823s.ct003375/?r=-0.218,-0.052,1.454,0.894,0) Map of the river systems in Song County
11
+ - [[Rehe xing gong quan tu]](https://www.loc.gov/resource/g7824c.ct001844/?r=0.789,0.26,0.25,0.154,0)
12
+
13
+ ## Aesthetic Elements That Made the Map Look Old
14
+ ### Background Layer (land)
15
+ ![image](https://user-images.githubusercontent.com/7087091/155616674-731c9b0d-e376-4594-b008-bd9c7544488d.png) <br>
16
+ For this style, it made sense to emulate the texture of old, aged paper, as this aesthetic is something we are very used to seeing in old maps.
17
+
18
+ ## Water (Ocean, lakes)
19
+ ![image](https://user-images.githubusercontent.com/7087091/211070389-a98ee7a4-daad-4682-92f7-141e325836b8.png)<br>
20
+ I was inspired by the above, and created a pattern for water areas across the map that was similar to the above.
21
+
22
+ ## Linework (admin, roads)
23
+ ![image](https://user-images.githubusercontent.com/7087091/211070481-fdcea19d-31fd-4b1e-97c5-daa4f897ed86.png) <br>
24
+ Similar to Woodblock, I used inconsistent/tapering lines to emulate the imperfections of old maps.
25
+
26
+ ## Symbology (Mountains)
27
+ ![image](https://user-images.githubusercontent.com/7087091/211070597-c2c238e5-858e-4fff-ad51-f7e0ac21fecc.png)
28
+ ![image](https://user-images.githubusercontent.com/7087091/211070644-bee6701a-f61d-4728-b310-242968326dcb.png)
29
+ ![image](https://user-images.githubusercontent.com/7087091/211070700-780e5719-495d-40a6-b582-c9cf2cd13edc.png)
30
+ <br>
31
+ Symbology in old maps always a reason why they look old. Mountains were a consistent theme across japanese maps, so I created these symbols as well.
32
+
33
+ ## Label Design
34
+ ![image](https://user-images.githubusercontent.com/7087091/211070796-31b61a28-1f16-4ef4-a9d2-672b7709196c.png) <br>
35
+ This felt really important as a few of the maps had this styling. I used block/square halos with red tones were common across various maps. Incorporated reds as well as mustard yellows, as this also was colors used across some of the inpsiration maps
36
+
37
+ ## Data Choices
38
+ Like the Woodblock style, this map style intentionally removes quite a bit of OHM data from the map. Older maps had a lot less data in them. If this map were to grow over time and have more data added, there would need to be some consideration of how design elements change to ensure that there is an appropriate hierarchy and balance of contrast.
39
+
40
+ For now, this style serves to highlight an older map aesthetic, in modern mapping technologies, alongside showing data over time.
@@ -14,10 +14,19 @@
14
14
  "tiles": [
15
15
  "https://vtiles.staging.openhistoricalmap.org/maps/ne/{z}/{x}/{y}.pbf"
16
16
  ]
17
+ },
18
+ "osm_land": {
19
+ "type": "vector",
20
+ "tiles": [
21
+ "https://vtiles.staging.openhistoricalmap.org/maps/osm_land/{z}/{x}/{y}.pbf"
22
+ ],
23
+ "minzoom": 0,
24
+ "maxzoom": 22,
25
+ "scheme": "xyz"
17
26
  }
18
27
  },
19
- "sprite": "https://www.openhistoricalmap.org/map-styles/japanese_scroll/jp_spritesheet_template",
20
- "glyphs": "https://www.openhistoricalmap.org/map-styles/fonts/{fontstack}/{range}.pbf",
28
+ "sprite": "https://openhistoricalmap.github.io/map-styles/japanese_scroll/japanese_scroll_spritesheet_template",
29
+ "glyphs": "https://openhistoricalmap.github.io/map-styles/fonts/{fontstack}/{range}.pbf",
21
30
  "layers": [
22
31
  {
23
32
  "id": "background",
@@ -43,7 +52,7 @@
43
52
  {
44
53
  "id": "land",
45
54
  "type": "fill",
46
- "source": "osm",
55
+ "source": "osm_land",
47
56
  "source-layer": "land",
48
57
  "minzoom": 0,
49
58
  "maxzoom": 24,
@@ -53,7 +62,7 @@
53
62
  {
54
63
  "id": "land-pattern",
55
64
  "type": "fill",
56
- "source": "osm",
65
+ "source": "osm_land",
57
66
  "source-layer": "land",
58
67
  "minzoom": 0,
59
68
  "maxzoom": 24,
@@ -537,11 +546,7 @@
537
546
  "maxzoom": 24,
538
547
  "filter": [
539
548
  "all",
540
- [
541
- "in",
542
- ["get", "type"],
543
- ["literal", ["funicular", "monorail", "tram"]]
544
- ],
549
+ ["in", ["get", "type"], ["literal", ["funicular", "monorail", "tram"]]],
545
550
  ["!", ["in", ["get", "service"], ["literal", ["siding", "yard"]]]]
546
551
  ],
547
552
  "layout": {"visibility": "none"},
@@ -1159,11 +1164,7 @@
1159
1164
  "maxzoom": 20,
1160
1165
  "filter": [
1161
1166
  "all",
1162
- [
1163
- "in",
1164
- ["get", "type"],
1165
- ["literal", ["motorway_link", "trunk_link"]]
1166
- ],
1167
+ ["in", ["get", "type"], ["literal", ["motorway_link", "trunk_link"]]],
1167
1168
  ["!=", ["get", "tunnel"], 1]
1168
1169
  ],
1169
1170
  "layout": {
@@ -1503,11 +1504,7 @@
1503
1504
  "maxzoom": 20,
1504
1505
  "filter": [
1505
1506
  "all",
1506
- [
1507
- "in",
1508
- ["get", "type"],
1509
- ["literal", ["motorway_link", "trunk_link"]]
1510
- ],
1507
+ ["in", ["get", "type"], ["literal", ["motorway_link", "trunk_link"]]],
1511
1508
  ["!=", ["get", "tunnel"], 1]
1512
1509
  ],
1513
1510
  "layout": {
@@ -2285,4 +2282,4 @@
2285
2282
  }
2286
2283
  ],
2287
2284
  "id": "io6r61fxt"
2288
- }
2285
+ }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openhistoricalmap/map-styles",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "A collection of map styles for OpenHistoricalMap",
5
5
  "main": "''",
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "prepare": "scripts/prepare.js",
9
- "test": "echo \"Error: no test specified\" && exit 1"
9
+ "test": "http-server --port 8888 --cors -o '#7.33/40.487/-73.554'"
10
10
  },
11
11
  "repository": {
12
12
  "type": "git",
@@ -17,12 +17,15 @@
17
17
  "Vanessa Knoppke-Wetzel <run.for.funner@gmail.com>",
18
18
  "Eric Theise <erictheise@gmail.com>"
19
19
  ],
20
- "license": "",
20
+ "license": "CC0 1.0 Universal",
21
21
  "bugs": {
22
- "url": "https://github.com/OpenHistoricalMap/map-styles/issues"
22
+ "url": "https://github.com/OpenHistoricalMap/issues"
23
23
  },
24
24
  "homepage": "https://github.com/OpenHistoricalMap/map-styles#readme",
25
25
  "dependencies": {
26
- "camelcase": "^8.0.0"
26
+ "camelcase": "^8.0.0",
27
+ "http-server": "^14.1.1",
28
+ "maplibre-gl": "^5.1.0",
29
+ "maplibre-gl-style-flipper": "^1.0.7"
27
30
  }
28
31
  }
@@ -0,0 +1,60 @@
1
+ # Documentation of Railway Style: Where it is today
2
+ The below documents the original considerations for the rail style. This style, however, is one that requires some design updates, and I would say is not at all a "final design" because of the likelihood of more data attributes to exist in the future. This style is historical but also must be practical, and unlike the other two style variants, this style requires more data, and also has more need for multi-variant styling of some elements (specifically rail). <br>
3
+ <br>
4
+
5
+ ## Original Railway Style Inspiration (And references for the future?)
6
+
7
+ ### Main line routes
8
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/b6315c49-b06a-4290-a00d-b51e37f7fc24)
9
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/1e317252-0f2a-40f2-bc83-5f071d0878ed)
10
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/0ebd2c0d-b581-40ee-b569-36292b2c7c66)
11
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/ca6d44fb-a65f-4877-a750-e50be86aa021)
12
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/de96141e-ecba-484a-a235-1debe2c0dd67)
13
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/6cc264f9-f1f7-42af-b76b-692f0ef4cadc)
14
+
15
+ heavy black lines with white/clear circles (that represented towns) were common across many historical maps. This in itself isn't shocking: Make a clearly visible line, and showcase where the cities and towns are along the routes. The result is a visually distinct aesthetic, however. Given that this occurs often and also globally ( *historical research dependent on what I could find based on language I speak, so noting that I attempted to review globally but limits here). Given this, this aesthetic seems appropriate for "main" line routes.
16
+ <br>
17
+ <br>
18
+ While this is where the inspiration for the "main" rail lines came from, the OHM community has generally stated that it would be ideal to update this, so I anticipate when there are more data attributes, this styling will change in the future.
19
+
20
+ ### "Other route" aesthetics
21
+ Obvious tracks, dashed lines, and other line aesthetics are ones we should use for the upcoming variety of rail that folx are considering adding as more distinguishable tags for a rail specific style, but I wanted to also review historically how some of these presented, as well as gather other options for inspiration.
22
+ <br>
23
+ The below lists and shows some examples
24
+ <br>
25
+ <br>
26
+ Thick, dense rail dashes (millipede-esque):
27
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/e7e3a198-9471-4de7-adf0-75ad03661fd0)
28
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/22f01ba5-02fb-4eb7-a8ae-82460b1e96d5)
29
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/b2467fda-2ac9-4416-9f9b-d919bda403da)
30
+ <br><Br>
31
+ classic dashed route:
32
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/82bfce88-020b-4116-b6f3-31be5889244b)
33
+ <br><br>
34
+ mostly-one-sided dash (I think possible implentation via offset?):
35
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/ed4c5ba2-f644-4fb3-80ea-4689be3f9a8a)
36
+ <Br><br>
37
+ one-sided dash:
38
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/33e32a54-6b1d-49af-b20a-19cf831e1edb)
39
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/bf5e595a-9c23-4464-a63e-f7222bbc6331)
40
+ <Br><Br>
41
+ thicker wide dashes:
42
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/013d6328-f982-4b20-b4bc-ffe323105e21)
43
+ <Br><br>
44
+ Legend with line varieties (not just rail):
45
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/29fad750-b5ad-470b-9a79-d5b780d9330b)
46
+ <br><br>
47
+ farther-apart track dashes:
48
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/2bb34dc4-68e0-4780-9b83-7a17269c75ff)
49
+ <br><br>
50
+ "casing only" route (not the main routes that are bolder here):
51
+ ![image](https://github.com/OpenHistoricalMap/issues/assets/7087091/c1eaaf88-3f72-4b4e-b187-d80f096442f8)
52
+ <Br><br>
53
+ And of course, the above isn't including basic line representation, color variances, and normal dashing lines as well (also pictured in these map examples)
54
+
55
+ ## Data and Design Today vs the Future
56
+ ![image](https://github.com/user-attachments/assets/52041a80-e350-47ab-a96a-f55162927465)
57
+ The above notes what the various rail styling looks like today. Updates have been made since the original style release based on community feedback, but as noted above, there will absolutely be more changes in the future.
58
+ <br><br>
59
+ Data-wise today, only some places across the globe have visible rail variance. When there are updates to the rail data, this is where there will be a need for more design changes and considerations to be made, especially because this is what the OHM rail community has identified as a space that they want updated (more data, and then updated designs for that new data).
60
+