Skip to main content

georeadr

Know if your geospatial data is ready for AI/ML before you find out the hard way.

pip install georeadr

Requires Python 3.9+ · Depends on geopandas


The problem

You have a shapefile or GeoPackage. You want to feed it into a model. But is the data actually ready?

  • Does it have a CRS?
  • Are there null geometries hiding in there?
  • Are coordinates swapped or out of bounds?
  • Are attributes complete enough to be useful?
  • Are there duplicate features that will bias your model?

Finding out halfway through a pipeline is painful. georeadr checks first.


Quick start

import georeadr

report = georeadr.check("my_data.gpkg")
print(report)

Output:

============================================================
  georeadr AI/ML Readiness Report
  File: my_data.gpkg
============================================================
  Score: 74.2/100   Grade: C
  Dataset is mostly ready but has 2 warning(s) to address.
============================================================

[PASS] CRS defined
       CRS is defined: EPSG:27700

[PASS] Null geometries
       No null or empty geometries found.

[PASS] Geometry validity
       All geometries are valid.

[WARN] Attribute completeness
       Attribute completeness: 87.3%. 2 column(s) have missing values.

[PASS] Geometry type consistency
       All geometries are of type: Polygon

[WARN] Duplicate features
       3 duplicate geometries found (1.2%).

[PASS] Feature count
       2,847 features found.

[PASS] Bounds sanity
       Bounds look sensible (width=3.2145, height=2.8721).
============================================================

Works with any GIS format

georeadr.check("data.shp")
georeadr.check("data.geojson")
georeadr.check("data.gpkg")
georeadr.check("data.gpkg", layer="my_layer")

Or pass a GeoDataFrame directly:

import geopandas as gpd
import georeadr

gdf = gpd.read_file("data.shp")
report = georeadr.check(gdf)

Run specific checks only

report = georeadr.check("data.gpkg", checks=["crs", "nulls", "validity"])

Available checks: crs, nulls, validity, completeness, duplicates, geometry_type, count, bounds


Use the report programmatically

report = georeadr.check("data.gpkg")

report.score        # 74.2
report.grade        # "C"
report.passed       # True (score >= 70)
report.errors       # list of failed checks with severity="error"
report.warnings     # list of failed checks with severity="warning"

for check in report.checks:
    print(f"{check.name}: {'PASS' if check.passed else 'FAIL'} ({check.score:.0%})")

Checks explained

Check What it catches
CRS defined Missing coordinate reference system
Null geometries Features with no geometry
Geometry validity Self-intersections, bowtie polygons
Attribute completeness Missing values across columns
Duplicate features Features with identical geometries
Geometry type consistency Mixed Points, Lines and Polygons
Feature count Too few features for meaningful ML
Bounds sanity Swapped coordinates, global extent issues

License

MIT

Metadata

Release files for georeadr 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for georeadr 1.0.0
File Size Uploaded Provenance
georeadr-1.0.0.tar.gz 10.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for georeadr 1.0.0
File Interpreter ABI Platform
georeadr-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.6 kB

Release files / georeadr-1.0.0.tar.gz

Download URL georeadr-1.0.0.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4bf89ab4604f1a4eb67a8045c698de51d33cb2a469ee97834c18605597f2f403
BLAKE2b-256 checksum
How to use checksums
27f32a48823c9ed1d4f88cc4fd249b05784aee12d07effe801fdf29836f22210
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / georeadr-1.0.0-py3-none-any.whl

Download URL georeadr-1.0.0-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4d9f0a57d50d5e49f9eca42a790d9af6299e93def6bcc22b254b58ac239bb39b
BLAKE2b-256 checksum
How to use checksums
53cdfe0ba08eb9b8742c952d334fd086ff46632ea9d1a0ce078ce5cb84d9fd36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Security for georeadr 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page