Skip to main content

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.

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.

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

1

Define your parcel

Draw a polygon directly on the interactive Leaflet map, or upload a file in GeoJSON, KML/KMZ, Shapefile, or DXF format.
2

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.
3

Enter project metadata

Provide a project name, author, and optional description. Choose between OpenStreetMap or PNOA satellite imagery for the PDF map.
4

Download the PDF report

Click Generate report to receive a complete technical PDF — includes a static map, risk score, and a detailed table for each affected layer.

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

ParameterLimit
Maximum polygon area10,000 ha (100 km²)
Maximum vertices10,000
Maximum upload size5 MB
Polygons per request1
Analysis timeout30 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.

Build docs developers (and LLMs) love