Compare commits
1 Commits
develop
...
feature/in
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05588c2333 |
4
.env
Normal file
4
.env
Normal file
@@ -0,0 +1,4 @@
|
||||
DATA_DIR=/home/silklaasboer/tileserver-gl-weatherroutes/data
|
||||
PORT=9019
|
||||
MBTILES_FILE=osm-2020-02-10-v3.11_europe_netherlands.mbtiles
|
||||
|
||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 silklaasboer
|
||||
Copyright (c) 2025 sil klaasboer pavankumar bellary
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
|
||||
27
data/config.json
Normal file
27
data/config.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"options": {
|
||||
"paths": {
|
||||
"fonts": "fonts",
|
||||
"styles": "styles"
|
||||
}
|
||||
},
|
||||
"styles": {
|
||||
"default": {
|
||||
"style": "default/style.json",
|
||||
"tilejson": {
|
||||
"type": "overlay"
|
||||
}
|
||||
},
|
||||
"dark": {
|
||||
"style": "custom/dark-style.json",
|
||||
"tilejson": {
|
||||
"type": "overlay"
|
||||
}
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"openmaptiles": {
|
||||
"mbtiles": "osm-2020-02-10-v3.11_europe_netherlands.mbtiles"
|
||||
}
|
||||
}
|
||||
}
|
||||
3181
data/styles/custom/dark-style.json
Normal file
3181
data/styles/custom/dark-style.json
Normal file
File diff suppressed because it is too large
Load Diff
611
data/styles/default/sprite.json
Normal file
611
data/styles/default/sprite.json
Normal file
@@ -0,0 +1,611 @@
|
||||
{
|
||||
"airfield_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 50,
|
||||
"y": 0
|
||||
},
|
||||
"airport_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 45,
|
||||
"y": 36
|
||||
},
|
||||
"alcohol_shop_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 50,
|
||||
"y": 54
|
||||
},
|
||||
"amusement_park_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 67,
|
||||
"y": 0
|
||||
},
|
||||
"aquarium_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 84,
|
||||
"y": 0
|
||||
},
|
||||
"art_gallery_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 101,
|
||||
"y": 0
|
||||
},
|
||||
"attraction_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 118,
|
||||
"y": 0
|
||||
},
|
||||
"bakery_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 64,
|
||||
"y": 18
|
||||
},
|
||||
"bank_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 81,
|
||||
"y": 18
|
||||
},
|
||||
"bar_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 98,
|
||||
"y": 18
|
||||
},
|
||||
"beer_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 115,
|
||||
"y": 18
|
||||
},
|
||||
"bicycle_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 62,
|
||||
"y": 36
|
||||
},
|
||||
"bicycle_share_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 79,
|
||||
"y": 36
|
||||
},
|
||||
"bus_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 96,
|
||||
"y": 36
|
||||
},
|
||||
"cafe_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 113,
|
||||
"y": 36
|
||||
},
|
||||
"campsite_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 67,
|
||||
"y": 54
|
||||
},
|
||||
"car_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 84,
|
||||
"y": 54
|
||||
},
|
||||
"castle_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 101,
|
||||
"y": 54
|
||||
},
|
||||
"cemetery_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 118,
|
||||
"y": 54
|
||||
},
|
||||
"cinema_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 0,
|
||||
"y": 72
|
||||
},
|
||||
"circle_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 17,
|
||||
"y": 72
|
||||
},
|
||||
"circle_stroked_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 34,
|
||||
"y": 72
|
||||
},
|
||||
"clothing_store_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 51,
|
||||
"y": 72
|
||||
},
|
||||
"college_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 68,
|
||||
"y": 72
|
||||
},
|
||||
"dentist_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 85,
|
||||
"y": 72
|
||||
},
|
||||
"doctor_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 102,
|
||||
"y": 72
|
||||
},
|
||||
"dog_park_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 119,
|
||||
"y": 72
|
||||
},
|
||||
"drinking_water_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 0,
|
||||
"y": 89
|
||||
},
|
||||
"embassy_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 17,
|
||||
"y": 89
|
||||
},
|
||||
"entrance_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 34,
|
||||
"y": 89
|
||||
},
|
||||
"fast_food_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 51,
|
||||
"y": 89
|
||||
},
|
||||
"ferry_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 68,
|
||||
"y": 89
|
||||
},
|
||||
"fire_station_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 85,
|
||||
"y": 89
|
||||
},
|
||||
"fuel_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 102,
|
||||
"y": 89
|
||||
},
|
||||
"garden_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 119,
|
||||
"y": 89
|
||||
},
|
||||
"golf_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 0,
|
||||
"y": 106
|
||||
},
|
||||
"grocery_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 17,
|
||||
"y": 106
|
||||
},
|
||||
"harbor_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 34,
|
||||
"y": 106
|
||||
},
|
||||
"heliport_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 51,
|
||||
"y": 106
|
||||
},
|
||||
"hospital_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 68,
|
||||
"y": 106
|
||||
},
|
||||
"ice_cream_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 85,
|
||||
"y": 106
|
||||
},
|
||||
"information_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 102,
|
||||
"y": 106
|
||||
},
|
||||
"laundry_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 119,
|
||||
"y": 106
|
||||
},
|
||||
"library_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 0,
|
||||
"y": 123
|
||||
},
|
||||
"lodging_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 17,
|
||||
"y": 123
|
||||
},
|
||||
"marker_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 34,
|
||||
"y": 123
|
||||
},
|
||||
"monument_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 51,
|
||||
"y": 123
|
||||
},
|
||||
"motorway_1": {
|
||||
"height": 18,
|
||||
"pixelRatio": 1,
|
||||
"width": 18,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"motorway_2": {
|
||||
"height": 18,
|
||||
"pixelRatio": 1,
|
||||
"width": 25,
|
||||
"x": 0,
|
||||
"y": 18
|
||||
},
|
||||
"motorway_3": {
|
||||
"height": 18,
|
||||
"pixelRatio": 1,
|
||||
"width": 32,
|
||||
"x": 18,
|
||||
"y": 0
|
||||
},
|
||||
"motorway_4": {
|
||||
"height": 18,
|
||||
"pixelRatio": 1,
|
||||
"width": 39,
|
||||
"x": 25,
|
||||
"y": 18
|
||||
},
|
||||
"motorway_5": {
|
||||
"height": 18,
|
||||
"pixelRatio": 1,
|
||||
"width": 45,
|
||||
"x": 0,
|
||||
"y": 36
|
||||
},
|
||||
"motorway_6": {
|
||||
"height": 18,
|
||||
"pixelRatio": 1,
|
||||
"width": 50,
|
||||
"x": 0,
|
||||
"y": 54
|
||||
},
|
||||
"mountain_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 68,
|
||||
"y": 123
|
||||
},
|
||||
"museum_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 85,
|
||||
"y": 123
|
||||
},
|
||||
"music_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 102,
|
||||
"y": 123
|
||||
},
|
||||
"park_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 119,
|
||||
"y": 123
|
||||
},
|
||||
"pharmacy_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 136,
|
||||
"y": 72
|
||||
},
|
||||
"picnic_site_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 153,
|
||||
"y": 72
|
||||
},
|
||||
"place_of_worship_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 170,
|
||||
"y": 72
|
||||
},
|
||||
"playground_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 187,
|
||||
"y": 72
|
||||
},
|
||||
"police_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 204,
|
||||
"y": 72
|
||||
},
|
||||
"post_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 221,
|
||||
"y": 72
|
||||
},
|
||||
"prison_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 238,
|
||||
"y": 72
|
||||
},
|
||||
"rail_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 255,
|
||||
"y": 72
|
||||
},
|
||||
"rail_light_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 136,
|
||||
"y": 89
|
||||
},
|
||||
"rail_metro_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 153,
|
||||
"y": 89
|
||||
},
|
||||
"religious_christian_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 170,
|
||||
"y": 89
|
||||
},
|
||||
"religious_jewish_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 187,
|
||||
"y": 89
|
||||
},
|
||||
"religious_muslim_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 204,
|
||||
"y": 89
|
||||
},
|
||||
"restaurant_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 221,
|
||||
"y": 89
|
||||
},
|
||||
"rocket_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 238,
|
||||
"y": 89
|
||||
},
|
||||
"school_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 255,
|
||||
"y": 89
|
||||
},
|
||||
"shop_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 136,
|
||||
"y": 106
|
||||
},
|
||||
"stadium_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 153,
|
||||
"y": 106
|
||||
},
|
||||
"star_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 170,
|
||||
"y": 106
|
||||
},
|
||||
"suitcase_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 187,
|
||||
"y": 106
|
||||
},
|
||||
"swimming_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 204,
|
||||
"y": 106
|
||||
},
|
||||
"theatre_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 221,
|
||||
"y": 106
|
||||
},
|
||||
"toilet_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 238,
|
||||
"y": 106
|
||||
},
|
||||
"town_hall_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 255,
|
||||
"y": 106
|
||||
},
|
||||
"triangle_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 136,
|
||||
"y": 123
|
||||
},
|
||||
"triangle_stroked_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 153,
|
||||
"y": 123
|
||||
},
|
||||
"veterinary_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 170,
|
||||
"y": 123
|
||||
},
|
||||
"volcano_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 187,
|
||||
"y": 123
|
||||
},
|
||||
"wave": {
|
||||
"height": 8,
|
||||
"pixelRatio": 1,
|
||||
"width": 16,
|
||||
"x": 272,
|
||||
"y": 72
|
||||
},
|
||||
"zoo_11": {
|
||||
"height": 17,
|
||||
"pixelRatio": 1,
|
||||
"width": 17,
|
||||
"x": 204,
|
||||
"y": 123
|
||||
}
|
||||
}
|
||||
BIN
data/styles/default/sprite.png
Normal file
BIN
data/styles/default/sprite.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
611
data/styles/default/sprite@2x.json
Normal file
611
data/styles/default/sprite@2x.json
Normal file
@@ -0,0 +1,611 @@
|
||||
{
|
||||
"airfield_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 100,
|
||||
"y": 0
|
||||
},
|
||||
"airport_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 90,
|
||||
"y": 72
|
||||
},
|
||||
"alcohol_shop_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 100,
|
||||
"y": 108
|
||||
},
|
||||
"amusement_park_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 134,
|
||||
"y": 0
|
||||
},
|
||||
"aquarium_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 168,
|
||||
"y": 0
|
||||
},
|
||||
"art_gallery_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 202,
|
||||
"y": 0
|
||||
},
|
||||
"attraction_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 236,
|
||||
"y": 0
|
||||
},
|
||||
"bakery_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 128,
|
||||
"y": 36
|
||||
},
|
||||
"bank_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 162,
|
||||
"y": 36
|
||||
},
|
||||
"bar_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 196,
|
||||
"y": 36
|
||||
},
|
||||
"beer_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 230,
|
||||
"y": 36
|
||||
},
|
||||
"bicycle_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 124,
|
||||
"y": 72
|
||||
},
|
||||
"bicycle_share_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 158,
|
||||
"y": 72
|
||||
},
|
||||
"bus_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 192,
|
||||
"y": 72
|
||||
},
|
||||
"cafe_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 226,
|
||||
"y": 72
|
||||
},
|
||||
"campsite_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 134,
|
||||
"y": 108
|
||||
},
|
||||
"car_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 168,
|
||||
"y": 108
|
||||
},
|
||||
"castle_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 202,
|
||||
"y": 108
|
||||
},
|
||||
"cemetery_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 236,
|
||||
"y": 108
|
||||
},
|
||||
"cinema_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 0,
|
||||
"y": 144
|
||||
},
|
||||
"circle_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 34,
|
||||
"y": 144
|
||||
},
|
||||
"circle_stroked_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 68,
|
||||
"y": 144
|
||||
},
|
||||
"clothing_store_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 102,
|
||||
"y": 144
|
||||
},
|
||||
"college_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 136,
|
||||
"y": 144
|
||||
},
|
||||
"dentist_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 170,
|
||||
"y": 144
|
||||
},
|
||||
"doctor_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 204,
|
||||
"y": 144
|
||||
},
|
||||
"dog_park_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 238,
|
||||
"y": 144
|
||||
},
|
||||
"drinking_water_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 0,
|
||||
"y": 178
|
||||
},
|
||||
"embassy_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 34,
|
||||
"y": 178
|
||||
},
|
||||
"entrance_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 68,
|
||||
"y": 178
|
||||
},
|
||||
"fast_food_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 102,
|
||||
"y": 178
|
||||
},
|
||||
"ferry_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 136,
|
||||
"y": 178
|
||||
},
|
||||
"fire_station_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 170,
|
||||
"y": 178
|
||||
},
|
||||
"fuel_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 204,
|
||||
"y": 178
|
||||
},
|
||||
"garden_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 238,
|
||||
"y": 178
|
||||
},
|
||||
"golf_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 0,
|
||||
"y": 212
|
||||
},
|
||||
"grocery_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 34,
|
||||
"y": 212
|
||||
},
|
||||
"harbor_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 68,
|
||||
"y": 212
|
||||
},
|
||||
"heliport_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 102,
|
||||
"y": 212
|
||||
},
|
||||
"hospital_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 136,
|
||||
"y": 212
|
||||
},
|
||||
"ice_cream_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 170,
|
||||
"y": 212
|
||||
},
|
||||
"information_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 204,
|
||||
"y": 212
|
||||
},
|
||||
"laundry_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 238,
|
||||
"y": 212
|
||||
},
|
||||
"library_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 0,
|
||||
"y": 246
|
||||
},
|
||||
"lodging_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 34,
|
||||
"y": 246
|
||||
},
|
||||
"marker_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 68,
|
||||
"y": 246
|
||||
},
|
||||
"monument_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 102,
|
||||
"y": 246
|
||||
},
|
||||
"motorway_1": {
|
||||
"height": 36,
|
||||
"pixelRatio": 2,
|
||||
"width": 36,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"motorway_2": {
|
||||
"height": 36,
|
||||
"pixelRatio": 2,
|
||||
"width": 50,
|
||||
"x": 0,
|
||||
"y": 36
|
||||
},
|
||||
"motorway_3": {
|
||||
"height": 36,
|
||||
"pixelRatio": 2,
|
||||
"width": 64,
|
||||
"x": 36,
|
||||
"y": 0
|
||||
},
|
||||
"motorway_4": {
|
||||
"height": 36,
|
||||
"pixelRatio": 2,
|
||||
"width": 78,
|
||||
"x": 50,
|
||||
"y": 36
|
||||
},
|
||||
"motorway_5": {
|
||||
"height": 36,
|
||||
"pixelRatio": 2,
|
||||
"width": 90,
|
||||
"x": 0,
|
||||
"y": 72
|
||||
},
|
||||
"motorway_6": {
|
||||
"height": 36,
|
||||
"pixelRatio": 2,
|
||||
"width": 100,
|
||||
"x": 0,
|
||||
"y": 108
|
||||
},
|
||||
"mountain_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 136,
|
||||
"y": 246
|
||||
},
|
||||
"museum_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 170,
|
||||
"y": 246
|
||||
},
|
||||
"music_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 204,
|
||||
"y": 246
|
||||
},
|
||||
"park_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 238,
|
||||
"y": 246
|
||||
},
|
||||
"pharmacy_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 272,
|
||||
"y": 144
|
||||
},
|
||||
"picnic_site_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 306,
|
||||
"y": 144
|
||||
},
|
||||
"place_of_worship_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 340,
|
||||
"y": 144
|
||||
},
|
||||
"playground_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 374,
|
||||
"y": 144
|
||||
},
|
||||
"police_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 408,
|
||||
"y": 144
|
||||
},
|
||||
"post_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 442,
|
||||
"y": 144
|
||||
},
|
||||
"prison_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 476,
|
||||
"y": 144
|
||||
},
|
||||
"rail_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 510,
|
||||
"y": 144
|
||||
},
|
||||
"rail_light_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 272,
|
||||
"y": 178
|
||||
},
|
||||
"rail_metro_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 306,
|
||||
"y": 178
|
||||
},
|
||||
"religious_christian_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 340,
|
||||
"y": 178
|
||||
},
|
||||
"religious_jewish_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 374,
|
||||
"y": 178
|
||||
},
|
||||
"religious_muslim_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 408,
|
||||
"y": 178
|
||||
},
|
||||
"restaurant_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 442,
|
||||
"y": 178
|
||||
},
|
||||
"rocket_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 476,
|
||||
"y": 178
|
||||
},
|
||||
"school_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 510,
|
||||
"y": 178
|
||||
},
|
||||
"shop_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 272,
|
||||
"y": 212
|
||||
},
|
||||
"stadium_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 306,
|
||||
"y": 212
|
||||
},
|
||||
"star_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 340,
|
||||
"y": 212
|
||||
},
|
||||
"suitcase_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 374,
|
||||
"y": 212
|
||||
},
|
||||
"swimming_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 408,
|
||||
"y": 212
|
||||
},
|
||||
"theatre_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 442,
|
||||
"y": 212
|
||||
},
|
||||
"toilet_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 476,
|
||||
"y": 212
|
||||
},
|
||||
"town_hall_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 510,
|
||||
"y": 212
|
||||
},
|
||||
"triangle_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 272,
|
||||
"y": 246
|
||||
},
|
||||
"triangle_stroked_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 306,
|
||||
"y": 246
|
||||
},
|
||||
"veterinary_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 340,
|
||||
"y": 246
|
||||
},
|
||||
"volcano_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 374,
|
||||
"y": 246
|
||||
},
|
||||
"wave": {
|
||||
"height": 16,
|
||||
"pixelRatio": 2,
|
||||
"width": 32,
|
||||
"x": 544,
|
||||
"y": 144
|
||||
},
|
||||
"zoo_11": {
|
||||
"height": 34,
|
||||
"pixelRatio": 2,
|
||||
"width": 34,
|
||||
"x": 408,
|
||||
"y": 246
|
||||
}
|
||||
}
|
||||
BIN
data/styles/default/sprite@2x.png
Normal file
BIN
data/styles/default/sprite@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
3445
data/styles/default/style.json
Normal file
3445
data/styles/default/style.json
Normal file
File diff suppressed because it is too large
Load Diff
11
docker-compose.yml
Normal file
11
docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
services:
|
||||
tile-server:
|
||||
image: maptiler/tileserver-gl:latest
|
||||
container_name: tile-server
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- ${DATA_DIR}:/data/
|
||||
ports:
|
||||
- ${PORT}:8080
|
||||
command: ["--file", "${MBTILES_FILE}"]
|
||||
96
init.sh
Executable file
96
init.sh
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/bin/bash
|
||||
|
||||
if ! command -v jq &> /dev/null; then
|
||||
echo "jq is not installed. Installing..."
|
||||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||||
sudo apt update && sudo apt install -y jq || sudo yum install -y jq
|
||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
brew install jq
|
||||
else
|
||||
echo "Unsupported OS. Please install jq manually."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
CURRENT_PATH=$(pwd)
|
||||
DATA_PATH=${CURRENT_PATH}/data
|
||||
echo "Current DATA_PATH: ($DATA_PATH)"
|
||||
read -p "Enter a new data path or press Enter to use the default: " USER_PATH
|
||||
DATA_PATH=${USER_PATH:-$DATA_PATH}
|
||||
echo "Using path: ($DATA_PATH)"
|
||||
sed -i "s|^DATA_DIR=.*|DATA_DIR=${DATA_PATH}|" .env
|
||||
|
||||
|
||||
DEFAULT_PORT=$(cat .env | awk -F'=' '/^PORT=/ {print $2}')
|
||||
read -p "Enter a new port or press Enter to use the current: ${DEFAULT_PORT} " USER_PORT
|
||||
DEFAULT_PORT=${USER_PORT:-$DEFAULT_PORT}
|
||||
echo "Using Port: ($DEFAULT_PORT)"
|
||||
sed -i "s|^PORT=.*|PORT=${DEFAULT_PORT}|" .env
|
||||
|
||||
echo -e "\nDownloading mbtiles json"
|
||||
wget https://cloud.silklaasboer.nl/s/oy9YTccKp9Lqfpy/download/osm-2020-02-10-v3.11_europe_netherlands.mbtiles
|
||||
mv osm-2020-02-10-v3.11_europe_netherlands.mbtiles $DATA_PATH
|
||||
|
||||
FILES=($(find . -type f -name "*.mbtiles"))
|
||||
if [ ${#FILES[@]} -eq 0 ]; then
|
||||
echo "No .mbtiles files found!"
|
||||
exit 1
|
||||
fi
|
||||
FILENAMES=()
|
||||
for file in "${FILES[@]}"; do
|
||||
FILENAMES+=("$(basename "$file")")
|
||||
done
|
||||
echo "Select an MBTiles file:"
|
||||
for i in "${!FILENAMES[@]}"; do
|
||||
echo "$((i+1))) ${FILENAMES[$i]}"
|
||||
done
|
||||
read -p "Enter the number of your choice: " SELECTION
|
||||
if ! [[ "$SELECTION" =~ ^[0-9]+$ ]] || [ "$SELECTION" -lt 1 ] || [ "$SELECTION" -gt "${#FILENAMES[@]}" ]; then
|
||||
echo "Invalid selection!"
|
||||
exit 1
|
||||
fi
|
||||
MBTILES_FILE="${FILENAMES[$((SELECTION-1))]}"
|
||||
sed -i "s|^MBTILES_FILE=.*|MBTILES_FILE=${MBTILES_FILE}|" .env
|
||||
echo "Updated .env with MBTILES_FILE=${MBTILES_FILE}"
|
||||
|
||||
CONFIG_FILE="data/config.json"
|
||||
if [ ! -f "$CONFIG_FILE" ]; then
|
||||
echo "Error: config.json not found!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
STYLES_PATH=$(jq -r '.options.paths.styles' "$CONFIG_FILE")
|
||||
STYLE_FILES=($(jq -r '.styles[].style' "$CONFIG_FILE"))
|
||||
FONTS_PATH=$(jq -r '.options.paths.fonts' "$CONFIG_FILE")
|
||||
|
||||
MISSING_FILES=()
|
||||
for file in "${STYLE_FILES[@]}"; do
|
||||
ABSOLUTE_PATH="$DATA_PATH/$STYLES_PATH/$file"
|
||||
|
||||
if [ ! -f "$ABSOLUTE_PATH" ]; then
|
||||
MISSING_FILES+=("$ABSOLUTE_PATH")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#MISSING_FILES[@]} -gt 0 ]; then
|
||||
echo -e "\nMissing style files:"
|
||||
for file in "${MISSING_FILES[@]}"; do
|
||||
echo " - $file"
|
||||
done
|
||||
exit 1
|
||||
else
|
||||
echo "All style files are present."
|
||||
fi
|
||||
|
||||
echo -e "\n Downloading fonts"
|
||||
wget https://github.com/maptiler/tileserver-gl/releases/download/v1.3.0/test_data.zip
|
||||
unzip test_data.zip
|
||||
rm -rf test_data.zip
|
||||
rm -rf styles
|
||||
rm -f zurich_switzerland.mbtiles
|
||||
rm -f config.json
|
||||
mv fonts $DATA_PATH
|
||||
|
||||
echo "Starting container"
|
||||
sudo docker compose up -d tile-server
|
||||
Reference in New Issue
Block a user