lawrencedeerclub/scripts/download_satellite.py

29 lines
1.1 KiB
Python
Raw Normal View History

#!/usr/bin/env nix-shell
#!nix-shell --quiet -p python3 -i python
# https://svc.pictometry.com/Image/D2B06344-7A2D-5BD0-FC89-DFDDC9888C41/wmts?SERVICE=WMTS&REQUEST=GetCapabilities
import os
import urllib.request
MAX_ZOOM=20
current, total = 0, (4 ** (MAX_ZOOM - 11) - 1)//3
for z in range(12, MAX_ZOOM+1):
scale = 2 ** (z - 12)
start_x = 985 * scale
start_y = 1432 * scale
for x in range(start_x, start_x + scale):
for y in range(start_y, start_y + scale):
current += 1
progress = f"[{current:0{len(str(total))}d}/{total}]"
url = f"https://svc.pictometry.com/Image/D2B06344-7A2D-5BD0-FC89-DFDDC9888C41/wmts/PICT-MNITAS23-EDVs7UTOVt/default/GoogleMapsCompatible/{z}/{x}/{y}.png"
file = os.path.normpath(os.path.join(os.path.dirname(__file__), f"../satellite/{z}/{x}/{y}.png"))
os.makedirs(os.path.dirname(file), exist_ok=True)
if os.path.isfile(file):
print(f"{progress} {file} already exists; skipping")
continue
print(f"{progress} downloading {file}")
urllib.request.urlretrieve(url, file)