Skip to content

joshsoftapp-coder/align-arial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoTool — Aerial Georeferencer

A self-contained local web app for georeferencing an aerial JPEG against OSM, then overlaying the result back on OSM.

Install

pip install flask pillow numpy gdal

GDAL note:

Run

python app.py --image /path/to/your/aerial.jpg

Opens automatically at http://localhost:5050

Workflow

Tab 1 — GCP Picker

  1. The left panel shows your aerial image (pan with any mouse button drag or two-finger swipe; pinch or scroll to zoom)
  2. Click any recognizable road intersection on the aerial — a yellow circle-crosshair cursor shows the active pick point
  3. The right panel (OSM) activates — navigate to the same intersection and click it. Use the Go To box (top-right of the OSM panel) to jump quickly to a place name, address, or lat, lon coordinates.
  4. Green marker appears on OSM, GCP added to the sidebar list
  5. Repeat for 6–10 points spread across the image
  6. Once you have ≥ 4 GCPs the "Generate GeoTIFF" button enables
  7. Click it — GDAL warps the image using Thin Plate Spline transformation

OSM default view starts at the Golden Gate Bridge. Use the Go To box to navigate to your area of interest before picking GCPs.

Tab 2 — OSM Overlay

After warping completes the app switches here automatically.

  • Your georeferenced aerial is overlaid on OSM
  • Use the opacity slider to compare alignment
  • If alignment looks off, go back to Tab 1, add/fix GCPs, and re-warp

Output files

Written next to your input image:

  • <name>_georef.tif — GeoTIFF with embedded coordinate system (EPSG:4326)
  • <name>_tiles/ — XYZ tile pyramid for fast overlay serving (if gdal2tiles is available)

A self-contained local web app for georeferencing an aerial JPEG against OSM, then overlaying the result back on OSM.

Install

pip install flask pillow numpy gdal

GDAL note:

Run

python app.py --image /path/to/your/aerial.jpg

Opens automatically at http://localhost:5050

Workflow

Tab 1 — GCP Picker

  1. The left panel shows your aerial image (pan with middle-click/right-click, zoom with scroll)
  2. Click any recognizable road intersection on the aerial → orange crosshair appears
  3. The right panel (OSM) activates — navigate to the same intersection and click it
  4. Green marker appears on OSM, GCP added to the sidebar list
  5. Repeat for 6–10 points spread across the image
  6. Once you have ≥ 4 GCPs the "Generate GeoTIFF" button enables
  7. Click it — GDAL warps the image using Thin Plate Spline transformation

Tab 2 — OSM Overlay

After warping completes the app switches here automatically.

  • Your georeferenced aerial is overlaid on OSM
  • Use the opacity slider to compare alignment
  • If alignment looks off, go back to Tab 1, add/fix GCPs, and re-warp

Output files

Written next to your input image:

  • aerial_georef.tif — GeoTIFF with embedded coordinate system (EPSG:4326)
  • aerial_tiles/ — XYZ tile pyramid for fast overlay serving (if gdal2tiles is available)

Next step — label extraction

Once you have the GeoTIFF, run the OCR pipeline:

python ocr_pipeline.py --geotiff aerial_georef.tif

(see ocr_pipeline.py — outputs labels.geojson)

About

align-arial

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors