GeoBrief is a semantic metadata and question-discovery engine for GIS datasets.
It reads a dataset, infers what the data is probably about, identifies quality and analysis constraints, proposes meaningful GIS questions, and explains which questions are answerable from the available fields.
The goal is not to be another GIS converter. GeoBrief answers a more useful first question:
What can this dataset actually help me understand?
- Reads CSV files with latitude/longitude columns.
- Reads GeoJSON feature collections.
- Infers geometry type, spatial extent, coordinate fields, temporal fields, category fields, count fields, population fields, and risk indicators.
- Produces a semantic profile: likely dataset theme, entity type, strengths, warnings, and limitations.
- Generates GIS question ideas across descriptive, comparative, proximity, equity, temporal, and quality-analysis categories.
- Classifies each question as
answerable,partially_answerable, ornot_answerable. - Exports either Markdown or JSON.
python -m geobrief inspect sample_data/public_facilities.csv
python -m geobrief inspect sample_data/parks.geojson --format json
python -m geobrief inspect sample_data/transit_stops.csv
python -m geobrief inspect sample_data/flood_zones.geojson
python -m geobrief inspect sample_data/public_facilities.csv --output reports/public_facilities.md
python -m geobrief ask sample_data/public_facilities.csv "Which districts are underserved relative to population?"
python -m geobrief serveThen open:
http://127.0.0.1:8765/geobrief
The repo also includes a small tools website. Locally:
python -m geobrief serveOpen:
http://127.0.0.1:8765/
The public GitHub Pages site is designed to run as a static demo:
https://daudee215.github.io/geobrief/
GeoBrief will use the Python API when running locally and fall back to browser-only analysis when opened from GitHub Pages.
Likely theme: public services / facilities
Likely entity: point locations
This dataset can support:
- Mapping individual facility locations
- Counting facilities by category or administrative area
- Identifying basic service distribution patterns
Question:
Which districts have the highest number of facilities?
Status:
answerable
Reason:
The dataset includes point geometry and administrative/category fields.
geobrief/
cli.py Command-line interface
readers.py CSV and GeoJSON readers
semantic.py Field, theme, and dataset inference
questions.py Question generation and answerability checks
report.py Markdown/JSON report output
models.py Core dataclasses
sample_data/ Small datasets for demos and tests
tests/ Unit tests
Most GIS tools help after you already know what you want to do. GeoBrief helps at the uncertain beginning: when someone sends a shapeless CSV, GeoJSON, or project folder and asks, "What is this, and what can we do with it?"
That makes it useful for:
- GIS portfolio project discovery
- Data catalog enrichment
- Open-data onboarding
- Early-stage spatial analysis planning
- QA before sharing or publishing data
Version 0.1.0 supports CSV and GeoJSON through the Python standard library. The next natural additions are Shapefile/GeoPackage readers via GDAL or GeoPandas, spatial joins for multi-layer projects, and optional LLM-assisted natural-language summaries.