GeoViable is an automated environmental feasibility assessment tool for land parcels in Galicia, Spain. Draw or upload a polygon, and GeoViable checks it against all 7 official environmental protection layers — Red Natura 2000, flood zones (T100/T500), Hydraulic Public Domain, livestock paths, Protected Natural Spaces, surface water bodies, and groundwater bodies — then generates a complete technical PDF report in seconds.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/danizd/geoviable/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Set up GeoViable locally with Docker Compose in minutes
Architecture
Understand the system design: FastAPI, PostGIS, React, and Nginx
API Reference
Integrate with the REST API to run analyses and generate PDFs
Environmental Layers
Learn about the 7 official data layers and their sources
How it works
Define your parcel
Draw a polygon directly on the interactive Leaflet map, or upload a file in GeoJSON, KML/KMZ, Shapefile, or DXF format.
Run the spatial analysis
Click Load layers to cross-reference your parcel against all 7 environmental protection layers. Results appear as colored overlays on the map.
Enter project metadata
Provide a project name, author, and optional description. Choose between OpenStreetMap or PNOA satellite imagery for the PDF map.
Key capabilities
7 Environmental Layers
Red Natura 2000, flood zones (T100/T500), Hydraulic Public Domain, livestock paths, Protected Natural Spaces, surface water bodies, and groundwater bodies
Instant PDF Reports
WeasyPrint renders a complete technical report from Jinja2 templates — ready to attach to planning applications
Multiple Input Formats
Accept GeoJSON, KML, KMZ, Shapefiles (.zip), and DXF — parsed entirely in the browser before sending to the API
PostGIS Spatial Engine
All intersection queries run against PostGIS with GIST indexes. Parcels arrive in WGS84 and are reprojected to ETRS89/UTM 30N (EPSG:25830)
Risk Scoring
Five-level risk score (ninguno → muy alto) based on number of affected layers and overlap percentages
Automated Data Updates
A cron job runs monthly to download updated shapefiles from MITECO/CNIG and reload the database atomically
Operational limits
| Parameter | Limit |
|---|---|
| Maximum polygon area | 10,000 ha (100 km²) |
| Maximum vertices | 10,000 |
| Maximum upload size | 5 MB |
| Polygons per request | 1 |
| Analysis timeout | 30 seconds |
GeoViable is scoped to Galicia, Spain. Polygons must fall within the bounding box
[-9.5, 41.5, -6.5, 44.0] (WGS84). Submissions outside this area are rejected with an OUT_OF_BOUNDS error.