Skip to content

About

Hi res Google map Downloader

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Satellite Image Downloader

Download high-resolution satellite/map imagery from Google Maps for any bounding box and save it as a fully georeferenced GeoTIFF (or PNG/JPEG).

Give it two corner coordinates (top-left and bottom-right), a zoom level, and an output path — the tool fetches all the required map tiles in parallel, stitches them into a single image, and writes out a GeoTIFF with correct WGS-84 georeferencing (or a plain image if you use a .png/.jpg extension).

Features

  • Download any bounding box at zoom levels 0–22
  • Concurrent tile downloads (configurable worker count)
  • Output as GeoTIFF with correct geotransform + WGS-84 CRS, ready to open in QGIS/ArcGIS/GDAL
  • Multiple map styles: satellite, satellite with labels, terrain, roadmap, labels only
  • Supports both the standard Google Maps tile server and the China-specific server (GCJ-02 -> WGS-84 corrected)

Requirements

  • Python 3.12+
  • GDAL native library and development headers (required to build the gdal Python bindings)
  • uv for dependency management

On Debian/Ubuntu, install the GDAL system packages first:

sudo apt-get install -y gdal-bin libgdal-dev python3-gdal

Make sure the installed GDAL version matches (or is compatible with) the version pinned in pyproject.toml.

Installation

Clone the repo first:

git clone <your-repo-url>
cd satellite-image-downloader

Then set up your environment using either uv (recommended) or plain python/pip.

Option A: using uv

./setup_env.sh

setup_env.sh creates a .venv with uv, activates it, and builds the project. Alternatively, run the steps manually:

uv venv --python=3.12
source .venv/bin/activate
uv sync

Option B: using plain python + pip

python3 -m venv .venv
source .venv/bin/activate   # On Windows: .venv\Scripts\activate
pip install -r requirements.txt

Usage

With uv:

uv run main.py \
  --top-left <lat,lon> \
  --bottom-right <lat,lon> \
  --zoom <0-22> \
  --output <path/to/output.tif>

With plain python (after activating your virtual environment):

python main.py \
  --top-left <lat,lon> \
  --bottom-right <lat,lon> \
  --zoom <0-22> \
  --output <path/to/output.tif>

Options

Flag Required Default Description
--top-left yes - Top-left corner as latitude,longitude
--bottom-right yes - Bottom-right corner as latitude,longitude
--output yes - Output file path (.tif for GeoTIFF, or .png/.jpg for plain image)
--zoom no 22 Zoom level (0-22). Higher = more detail, more tiles, longer download
--style no s Map style, see Map styles
--server no Google Tile server: Google or Google China
--workers no 16 Number of concurrent download workers

Examples

Download a satellite GeoTIFF over a small area in Singapore at zoom 18:

# uv
uv run main.py \
  --top-left 1.288221,103.673125 \
  --bottom-right 1.266984,103.699828 \
  --zoom 18 \
  --output ~/sat.tif

# plain python
python main.py \
  --top-left 1.288221,103.673125 \
  --bottom-right 1.266984,103.699828 \
  --zoom 18 \
  --output ~/sat.tif

Download roadmap-style imagery as a PNG:

# uv
uv run main.py \
  --top-left 1.288221,103.673125 \
  --bottom-right 1.266984,103.699828 \
  --zoom 16 \
  --style m \
  --output ~/map.png

# plain python
python main.py \
  --top-left 1.288221,103.673125 \
  --bottom-right 1.266984,103.699828 \
  --zoom 16 \
  --style m \
  --output ~/map.png

Map styles

Style Description
m Standard map
s Satellite imagery
y Satellite imagery with labels
t Terrain
p Terrain with labels
h Labels only (transparent)

Notes

  • Higher zoom levels and larger bounding boxes download significantly more tiles — expect longer download times and larger output files.
  • GeoTIFF output is written using WGS-84 (EPSG:4326) coordinates, matching the corners you provide.
  • This tool talks directly to Google's map tile endpoints; usage is subject to Google's terms of service.

License

No license specified yet. Add one (e.g. MIT) if you plan to open-source this repository.

About

Hi res Google map Downloader

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages