---
id: "geo_shape"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["geo"]
langs: ["common"]
quality: 80
url: "http://registry.apicrafter.io/datatype/geo_shape"
---

# Opendatasoft geographic shape (geo_shape) (`geo_shape`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

Geometry stored in the geo_shape field type of the Opendatasoft data platform (now Huwise), which runs many French and other European open data portals. Datasets often keep the default field name geo_shape, usually next to a geo_point_2d field with a point of the same record. The value is GeoJSON, so positions are longitude first, then latitude. The Explore API v2.1 returns a GeoJSON Feature whose geometry member holds the shape and whose properties member is empty. CSV exports write the bare geometry object instead. One value holds one geometry of any GeoJSON type, such as Point, LineString, Polygon or MultiPolygon.

- Parent datatype: `geojson`
- Personal data (PII): no
- Categories: Geographic identifiers (geo)
- Countries: global
- Languages: Common to most languages (common)

## Detection

Regular expression (Python `re`):

```
^\{.*"type"\s*:\s*"(?:Feature|Point|MultiPoint|LineString|MultiLineString|Polygon|MultiPolygon|GeometryCollection)".*\}$
```

## Examples

- `{"type": "Feature", "geometry": {"coordinates": [55.51277383144647, -21.354091540437363], "type": "Point"}, "properties": {}}` — Explore API v2.1 JSON, pedestrian crossings on the national roads of La Réunion
- `{"coordinates": [55.280328656208845, -21.152200178649892], "type": "Point"}` — CSV export of the same dataset, bare geometry
- `{"type": "Feature", "geometry": {"coordinates": [[[-2.181727156897353, 47.29847256203905], [-2.181948973690747, 47.29831385193075], [-2.181949432895089, 47.298313937858104], [-2.181727262249872, 47.29847263672119], [-2.181727156897353, 47.29847256203905]]], "type": "Polygon"}, "properties": {}}` — Explore API v2.1 JSON, land use parcel in Loire-Atlantique
- `{"lon": 55.51277383144647, "lat": -21.354091540437363}` (invalid example) — geo_point_2d object, not a geometry
- `POINT (55.51277383144647 -21.354091540437363)` (invalid example) — WKT, not GeoJSON

## Translations

- fr: Forme géographique Opendatasoft (geo_shape)
- ru: Географическая форма Opendatasoft (geo_shape)

## Sources

- doc: <https://help.opendatasoft.com/apis/ods-explore-v2/explore_v2.1.html>
- doc: <https://datatracker.ietf.org/doc/html/rfc7946>

## Quality

Score 80/100. Missing: mapping (Wikidata, Schema.org, ...), detector coverage.

JSON: <http://registry.apicrafter.io/api/v1/datatypes/geo_shape.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/geo/geo_shape.yaml>
