extract input output:
	quackosm {{input}} --osm-tags-filter-file tags.json --compact --output {{output}}

download region output:
	quackosm --geom-filter-geocode {{region}} --osm-extract-source Geofabrik --osm-tags-filter-file tags.json --compact --output {{output}}

convert input water='water.parquet' output='geohash' export_flags='--parquet':
	python3 slice.py -i {{input}} -w {{water}} -o {{output}} {{export_flags}}

water coast='coastline.parquet' water='water.parquet' output='geohash':
	python3 water.py {{coast}} {{water}} {{output}}

shp input output:
	ogr2ogr -s_srs EPSG:4326 -t_srs EPSG:4326 -a_srs EPSG:4326 -of 'Parquet' {{output}} {{input}}

plot file:
	#!/usr/bin/env bash
	stem=$(basename {{file}} .parquet)
	python3 plot.py -i {{file}} -o ${stem}.png

process file:
	#!/usr/bin/env bash
	stem=$(basename {{file}} .pbf)
	echo "Extracting Data from OpenStreetMaps PBF"
	quackosm {{file}} --osm-tags-filter-file tags.json --all-tags --compact --output ${stem}.parquet
	echo "Generating geohash parquet files"
	python3 slice.py --input ${stem}.parquet --water water.parquet --tags tags.json --output geohash --parquet
	echo "Cleaning up"
	rm ${stem}.parquet

lookup lat lon:
    #!/usr/bin/env bash
    lat=$(echo "{{lat}}" | tr ',' ' ')
    python3 lookup.py $lat {{lon}}

serve:
	uvicorn api:app --host 0.0.0.0 --port 8000 --reload
