Skip to content

Expand WKB encoding to ISO WKB to support 3D geometries #45

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ Anyone is welcome to join us, by building implementations, trying it out, giving
Initial work started in the [geo-arrow-spec](https://github.com/geopandas/geo-arrow-spec/) GeoPandas repository, and that will continue on
Arrow work in a compatible way, with this specification focused solely on Parquet.

Note that version 0.1 only supports 2d geometries, as we are not supporting [EWKB](https://libgeos.org/specifications/wkb/#extended-wkb) or
[ISO WKB](https://libgeos.org/specifications/wkb/#iso-wkb). We expect to expand WKB to support 3D in the future, if you have thoughts please
sound in on #18 and/or follow along there.

## Goals

There are a few core goals driving the initial development.
Expand Down
7 changes: 4 additions & 3 deletions format-specs/geoparquet.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ This is version 0.1.0 of the geoparquet specification.
## Geometry columns

Geometry columns are stored using the `BYTE_ARRAY` parquet type. They are encoded as [WKB](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well-known_binary).
See the [encoding](#encoding) section below for more details.

## Metadata

Expand Down Expand Up @@ -94,9 +95,9 @@ Users are recommended to store their data in EPSG:4326 for it to work with the w

This is the binary format that the geometry is encoded in.
The string 'WKB', signifying [Well Known Binary](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well-known_binary) is the only current option, but future versions
of the spec may support alternative encodings. This should be the ["standard"](https://libgeos.org/specifications/wkb/#standard-wkb) WKB
representation. This means 3D coordinates are not supported in this version of GeoParquet, but we expect
this to come in a future version.
of the spec may support alternative encodings. This should be the ["ISO"](https://libgeos.org/specifications/wkb/#iso-wkb) WKB representation. For two-dimensional geometries, this is identical to ["standard"](https://libgeos.org/specifications/wkb/#standard-wkb) WKB, but ISO WKB allows the use of 3D geometries.

Note that the current version of the spec only allows for a subset of ISO WKB: 2D or 3D geometries of the standard geometry types (the Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection geometry types). This means that M values or non-linear geometry types are not yet supported.

#### Coordinate axis order

Expand Down