API & MCP
Everything a person can do on GISela Coordinate Reprojection, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://giselareproject.usefulweb.site/api/v1/calculate– run GISela Coordinate ReprojectionGET https://giselareproject.usefulweb.site/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
GISela Coordinate Reprojection
Reprojects vector data between coordinate systems with GISela’s own projection maths: WGS 84, ETRS89, Web Mercator, every UTM zone, ETRS89-LAEA, German Gauss–Krüger zones, Swiss LV95/LV03 and the British National Grid. Reads the coordinate system from .prj files and GeoJSON, and shows sample coordinates before and after.
| Field | Type | Default | Description |
|---|---|---|---|
data | textarea | — | Data. GeoJSON, TopoJSON, KML, GPX, CSV (lat/lon, x/y or a WKT column) or WKT lines. Or upload a file below. |
file | file | — | File (optional). Used instead of the pasted text. Shapefiles: put .shp, .dbf and .prj into one ZIP. |
from | text | "auto" | Coordinate system of the data. “auto” reads it from the file (.prj, GeoJSON crs); otherwise an EPSG code such as 2056, 25832 or 27700. Without information the data is read as WGS 84 longitude/latitude. |
to | select (EPSG:4326, EPSG:4258, EPSG:3857, EPSG:3035, EPSG:2056, EPSG:21781, EPSG:27700, EPSG:31466, EPSG:31467, EPSG:31468, EPSG:31469, EPSG:25831, EPSG:25832, EPSG:25833) | "EPSG:4326" | Convert to. Other zones: type the code below. |
toOther | text | — | Or another EPSG code. For example 32633 (WGS 84 / UTM 33N) or 25831. Overrides the list when filled. |
format | select (geojson, csv, wkt) | "geojson" | Output format |
Example request
Tram stops (WGS 84) to Swiss LV95
curl -X POST https://giselareproject.usefulweb.site/api/v1/calculate -H 'content-type: application/json' -d '{"data":"{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[7.992,47.1215]},\"properties\":{\"name\":\"Weiher\"}},{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[7.999,47.126]},\"properties\":{\"name\":\"Altstadt\"}},{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[8.006,47.129]},\"properties\":{\"name\":\"Marktplatz\"}},{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[8.012,47.1335]},\"properties\":{\"name\":\"Bahnhof\"}},{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[8.018,47.137]},\"properties\":{\"name\":\"Nordring\"}},{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[8.025,47.14]},\"properties\":{\"name\":\"Rebhalde\"}},{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[8.031,47.1405]},\"properties\":{\"name\":\"Endstation Ost\"}}]}","to":"EPSG:2056"}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://giselareproject.usefulweb.site/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
gisela_reproject - Local stdio connector:
node src/mcp-stdio.ts --tool=gisela-reproject
{
"mcpServers": {
"gisela-reproject": { "type": "http", "url": "https://giselareproject.usefulweb.site/mcp" }
}
}