Georange is a lightweight, extensible geospatial analysis toolkit written in Python.
It acts as a wrapper layer around robust GIS libraries like geopy.
✅ Parse KML files into structured Python objects (GeoSet)
✅ Compute pairwise distances using accurate geodesic formulas (via geopy)
✅ Find nearest points between features
✅ Calculate average distances between all points
✅ Modular, testable CLI interface built with Typer
⚙️ Quick Start
- Setup the development environment
Clone and install dependencies with Poetry:
git clone https://github.com/isaacgraper/georange.git
cd georange
make setup
If you already have everything incstalled:
make dev
- Run the CLI
Show global help:
poetry run python -m georange.main --help
- Parse a sample KML file
poetry run python -m georange.main docs/samples/kml_file.kml analyze
poetry run python -m georange.main docs/samples/kml_file.kml distances
poetry run python -m georange.main docs/samples/kml_file.kml nearest --target-index 0
poetry run python -m georange.main docs/samples/kml_file.kml avgdist
-
Add support for GeoJSON and Shapefiles
-
Integrate Shapely for geometric operations (area, intersection)
-
Implement plotting utilities with matplotlib and folium
-
Export computed results to CSV/JSON
-
Add optional REST API for remote analysis
