make setup more user friendly

This commit is contained in:
Adam 2024-01-27 15:20:26 -05:00
parent fa281bfc8a
commit faebb2692f

View file

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/sh
clear clear
DATE_UTC=$(date -u +"%d%m%y") DATE_UTC=$(date -u +"%d%m%y")
@ -6,34 +6,55 @@ REGION=us
REGION_DATA=$REGION-$DATE_UTC.osm.pbf REGION_DATA=$REGION-$DATE_UTC.osm.pbf
REGION_TILES=$REGION.mbtiles 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)
cd ./build 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 if [ ! -f "./data/$REGION_DATA" ]; then
echo Downloading OSM data... echo Downloading OSM data...
wget -cO ./data/$REGION_DATA https://download.geofabrik.de/north-america/$REGION-latest.osm.pbf wget -cO ./data/"$REGION_DATA" https://download.geofabrik.de/north-america/"$REGION"-latest.osm.pbf
else else
echo $REGION_DATA already exists echo "$REGION_DATA" already exists
fi fi
if [ ! -f "../dist/data/$REGION_TILES" ]; then if [ ! -f "../dist/data/$REGION_TILES" ]; then
echo Creating $REGION_TILES... echo Creating "$REGION_TILES"...
tilemaker \ tilemaker \
--input ./data/$REGION_DATA \ --input ./data/"$REGION_DATA" \
--output ../dist/data/$REGION.mbtiles \ --output ../dist/data/"$REGION".mbtiles \
--process ./resources/process-openmaptiles.lua \ --process ./resources/process-openmaptiles.lua \
--config ./resources/config-openmaptiles.json --config ./resources/config-openmaptiles.json
else else
echo tiles already exist echo tiles already exist
fi fi
cd ../dist
if [ ! -f martin ]; then
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
else
echo martin already exists
fi fi
echo done!