# info.description
The Coordinate Transformation API performs coordinate transformations on GeoJSON and CityJSON files using the official RDNAPTRANS™ transformation procedure and other transformations defined or recommended by NSGI.


The Demo API key is `l75526b51269c9481081b2be9122d03c4f` and is intended for exploratory use of the API only. This key may stop working without warning.

# paths./.get.responses.200.content.application/json.example.description
Landing page describing the capabilities of this API

# paths./openapi.get.description
The Open API Specification (OAS) document of this API.

# paths./conformance.get.description
OGC API Common Conformance page describing the capabilities of this API. Best effort has been made to comply to the OGC API Commons standard, but due to the nature of this API, full compliance is not possible. See for details the [docs](https://github.com/GeodetischeInfrastructuur/coordinate-transformation-api/blob/main/docs/OGC-API-Common.md).

# paths./crss.get.summary
Get all CRSs supported by the transformation API

# paths./crss.get.description
Returns definitions of all supported coordinate reference systems (CRSs)

# paths./crss/{crs-id}.get.description
Returns the definition of a single coordinate reference system (CRS) by `crs-id` (format: `{authority:identifier}`, for example: `EPSG:28992`).

# paths./check-density.post.summary
Check segment length of (multi)polygon and (multi)linestring geometries based on the geodesic (ellipsoidal great-circle) distance on the GRS80 ellipsoid

# paths./check-density.post.description
Check segment length of polygon and linestring geometries. Returns a `DensityCheckReport` containing a FeatureCollection containing all line segments exceeding the maximum segment length 'maxSegmentLength' or maximum segment deviation `maxSegmentDeviation`.

# paths./check-density.post.requestBody.description
One of:
- GeoJSON Feature
- GeoJSON FeatureCollection
- GeoJSON Geometry
- GeoJSON GeometryCollection

GeoJSON FeatureCollection objects may contain a `.crs` member containing a named CRS, to indicate the source CRS. See the `GeoJsonCrs` schema for more details.

> **Note:** The `crs` member is not part of the [FeatureCollection schema](https://geojson.org/schema/FeatureCollection.json).

When `crs` is specified in the request body, the `source-crs` query parameter or `content-crs` request header may be omitted. Order of precedence of CRS input is: request body > query parameters > headers.

# paths./check-density.post.responses.200.headers.content-crs.description
Coordinate reference system (CRS) of the input coordinates

# paths./densify.post.summary
Densify (multi)polygon and (multi)linestring geometries using the geodesic (ellipsoidal great-circle) trajectory on the GR80 ellipsoid

# paths./densify.post.description
**Warning**: This endpoint is currently in an experimental phase!

A POST endpoint that accepts a GeoJSON object and densifies the
geometries using the maximum segment length 'maxSegmentLength' or
maximum segment deviation `maxSegmentDeviation` threshold.

# paths./densify.post.requestBody.description
One of:
- GeoJSON Feature
- GeoJSON FeatureCollection
- GeoJSON Geometry
- GeoJSON GeometryCollection

GeoJSON FeatureCollection objects may contain a `.crs` member containing a named CRS, to indicate the source CRS. See the `GeoJsonCrs` schema for more details.

> **Note:** The `crs` member is not part of the [FeatureCollection schema](https://geojson.org/schema/FeatureCollection.json).

When `crs` is specified in the request body, the `source-crs` query parameter or `content-crs` request header may be omitted. Order of precedence of CRS input is: request body > query parameters > headers.

# paths./transform.get.summary
Transformation of the given coordinates of a point from the source CRS to the target CRS.

# paths./transform.get.description
A GET endpoint that accepts coordinates of a given source CRS and performs the transformation to the provided target CRS. The input coordinates are a comma separated list of numbers that can represent the `x, y` or (depending on the EPSG definition of CRS) `lat, lon` / `lon, lat` coordinates (with or without a height), or `X, Y, Z` coordinates.
Source CRS and target CRS can be defined through either the query parameters or the request headers. Order of precedence is: query parameters > request headers.

# paths./transform.get.responses.200.content.text/plain.schema.description
WKT representation of a point as POINT (...) or POINT Z (...)

# paths./transform.post.summary
Transformation of the given geometries from the source CRS to the target CRS

# paths./transform.post.description
A POST endpoint that accepts a file in a given source CRS and performs the transformation to the provided target CRS.

# paths./transform.post.requestBody.description
One of:
  - GeoJSON Feature
  - GeoJSON FeatureCollection
  - GeoJSON Geometry
  - GeoJSON GeometryCollection
  - CityJSON Object

GeoJSON FeatureCollection objects may contain a `.crs` member containing a named CRS, to indicate the source CRS. See the `GeoJsonCrs` schema for more details.

> **Note:** The `crs` member is not part of the [FeatureCollection schema](https://geojson.org/schema/FeatureCollection.json).

CityJSON objects may contain a [`metadata.referenceSystem`](https://www.cityjson.org/specs/1.1.3/#referencesystem-crs) member to indicate the source-crs.

When `crs` is specified in the request body (either in GeoJSON or in CityJSON), the `source-crs` query parameter or `content-crs` request header may be omitted. Order of precedence of CRS input is: request body > query parameters > headers.

# components.examples.404CrsExample.value.detail
CRS with id EPSG:289923 not supported by API

# components.examples.400DensityCheckFailedExample.value.detail
density-check failed, with following query parameters: density-check: True, max-segment-length: 200.0

# components.headers.content-crs.description
Coordinate reference system (CRS) of the response

# components.headers.epoch.description
Epoch of the coordinates in the response (if defined in the input)

# components.parameters.acceptCrs.description
Target coordinate reference system (CRS); Usage discouraged: use `target-crs` instead

# components.parameters.contentCrs.description
Source coordinate reference system (CRS); Usage discouraged: use `source-crs` instead

# components.parameters.coordinates.description
Coordinates of the query point as comma seperated list, see `source-crs` parameter for order and required dimension of the coordinates

# components.parameters.densityCheck.description
Run density-check on input before transformation. Will result in HTTP 400 response if the density-check fails. When set on `true` one of the following parameters needs to be set `max-segment-length` or `max-segment-deviation`

# components.parameters.epochParam.description
Epoch of coordinates in source and target coordinate reference systems (CRSs). Leave empty for null transformation recommended for most applications.

# components.parameters.sourceCrs.description
Source coordinate reference system (CRS); NB: Overruled by CRS in request body (e.g. GeoJSON)

# components.parameters.targetCrs.description
Target coordinate reference system (CRS)

# components.responses.400Transform.description
Bad request. The request body does not contain a valid payload or the query is not supported by the API.

# components.responses.404Crs.description
Coordinate reference system (CRS) Not Found.

# components.responses.400.description
Bad request. The request body does not contain a valid payload or the query is not supported by the API.

# components.schemas.ConformanceDeclaration.description
The URIs of all conformance classes supported by the server.

To support "generic" clients that want to access multiple
OGC API Features implementations - and not "just" a specific
API / server, the server declares the conformance
classes it implements and conforms to.

# components.schemas.DensityCheckReport.properties.failedLineSegments.description
FeatureCollection containing line segments that failed density-check. If all line segments passed density-check, value of `failedLineSegments` is `null`.

# components.schemas.Error.properties.type.description
URI to a page with more information about this error.

# components.schemas.GeoJsonCrs.description
Optional `.crs` field for GeoJSON FeatureCollection. The  `.properties.name` value should conform to the [OGC URN scheme](https://www.ogc.org/about-ogc/policies/ogc-urn-policy/).

# components.schemas.LandingPage.properties.description.example
Landing page of the Coordinate Transformation API