60 lines
1.5 KiB
Bash
Executable file
60 lines
1.5 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
clear
|
|
DATE_UTC=$(date -u +"%d%m%y")
|
|
REGION=us
|
|
REGION_DATA=$REGION-$DATE_UTC.osm.pbf
|
|
REGION_TILES=$REGION.mbtiles
|
|
|
|
echo "Setup
|
|
======================
|
|
1. Just install/update martin
|
|
2. Install/update martin and generate US tiles (takes a long time and A LOT of RAM)
|
|
|
|
Enter number [1-2]: "
|
|
|
|
read -r input
|
|
|
|
if ! [ "$input" -eq "$input" ] 2> /dev/null; then
|
|
|
|
echo "Error: Not a number"
|
|
exit 1
|
|
|
|
elif [ "$input" -lt 1 ] || [ "$input" -gt 2 ]; then
|
|
|
|
echo "Error: Input out of range"
|
|
exit 1
|
|
|
|
fi
|
|
|
|
# Martin
|
|
if [ "$input" -ge 1 ]; then
|
|
mkdir dist
|
|
cd dist || exit 1
|
|
echo Downloading and extracting martin...
|
|
wget -c https://github.com/maplibre/martin/releases/latest/download/martin-x86_64-unknown-linux-gnu.tar.gz &&
|
|
tar -xzvf martin-x86_64-unknown-linux-gnu.tar.gz
|
|
cd ../
|
|
fi
|
|
|
|
# Tiles
|
|
if [ "$input" -ge 2 ]; then
|
|
mkdir build
|
|
cd ./build || exit 1
|
|
if [ ! -f "./data/$REGION_DATA" ]; then
|
|
echo Downloading OSM data...
|
|
wget -cO ./data/"$REGION_DATA" https://download.geofabrik.de/north-america/"$REGION"-latest.osm.pbf
|
|
else
|
|
echo "$REGION_DATA" already exists
|
|
fi
|
|
if [ ! -f "../dist/data/$REGION_TILES" ]; then
|
|
echo Creating "$REGION_TILES"...
|
|
tilemaker \
|
|
--input ./data/"$REGION_DATA" \
|
|
--output ../dist/data/"$REGION".mbtiles \
|
|
--process ./resources/process-openmaptiles.lua \
|
|
--config ./resources/config-openmaptiles.json
|
|
else
|
|
echo tiles already exist
|
|
fi
|
|
fi
|