Skip to content

Commit c5773cb

Browse files
committed
Updated geospatial doc
1 parent 285b6fd commit c5773cb

File tree

1 file changed

+13
-21
lines changed

1 file changed

+13
-21
lines changed

Geospatial.md

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,12 @@ locations on Earth.
4444
The default CRS `OGC:CRS84` means that the geospatial features must be stored
4545
in the order of longitude/latitude based on the WGS84 datum.
4646

47-
Custom CRS can be specified by a string value. It is recommended to use an
48-
identifier-based approach like [Spatial reference identifier][srid].
47+
Non-defaullt CRS values are specified by any string that uniquely identifies coordinate reference system associated with this type.
48+
To maximize interoperability suggested (but not limited to) formats for CRS are:
49+
* `authorithy:identifier` - where `authorithy` represents some well known authorities - examples are `OGC:CRS84`, `OGC:CRS83`, `OGC:CRS27`.
50+
* `inlined_projjson` - Inlining whole CRS definition in [PROJJSON](https://proj.org/en/stable/specifications/projjson.html) format.
51+
* `srid:identifier` - [SRID - Spatial reference identifier](https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier), `identifier` is the SRID itself.
52+
* `projjson:table_property_name` - where `table_property_name` is the name of a table property where the projjson string is stored
4953

5054
For geographic CRS, longitudes are bound by [-180, 180] and latitudes are bound
5155
by [-90, 90].
@@ -85,19 +89,19 @@ associated with each point.
8589
The Z values introduce the third dimension coordinate. Usually they are used to
8690
indicate the height, or elevation.
8791

88-
M values are an opportunity for a geospatial instance to track a value in a
89-
fourth dimension. These values can be used as a linear reference value (e.g.,
92+
M values are an opportunity for a geospatial instance to track a value in a
93+
fourth dimension. These values can be used as a linear reference value (e.g.,
9094
highway milepost value), a timestamp, or some other value as defined by the CRS.
9195

9296
Bounding box is defined as the thrift struct below in the representation of
9397
min/max value pair of coordinates from each axis. Note that X and Y Values are
9498
always present. Z and M are omitted for 2D geospatial instances.
9599

96-
When calculating a bounding box, null or NaN values in a coordinate
97-
dimension are skipped. For example, `POINT (1 NaN)` contributes a value to X
98-
but no values to Y, Z, or M dimension of the bounding box. If a dimension has
99-
only null or NaN values, that dimension is omitted from the bounding box. If
100-
either the X or Y dimension is missing, then the bounding box itself is not
100+
When calculating a bounding box, null or NaN values in a coordinate
101+
dimension are skipped. For example, `POINT (1 NaN)` contributes a value to X
102+
but no values to Y, Z, or M dimension of the bounding box. If a dimension has
103+
only null or NaN values, that dimension is omitted from the bounding box. If
104+
either the X or Y dimension is missing, then the bounding box itself is not
101105
produced.
102106

103107
For the X values only, xmin may be greater than xmax. In this case, an object
@@ -150,18 +154,6 @@ In addition, the following rules are applied:
150154
[geometry-types]: https://github.com/opengeospatial/geoparquet/blob/v1.1.0/format-specs/geoparquet.md?plain=1#L159
151155
[wkb-integer-code]: https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well-known_binary
152156

153-
# CRS Customization
154-
155-
CRS is represented as a string value. Writer and reader implementations are
156-
responsible for serializing and deserializing the CRS, respectively.
157-
158-
As a convention to maximize the interoperability, custom CRS values can be
159-
specified by a string of the format `type:identifier`, where `type` is one of
160-
the following values:
161-
162-
* `srid`: [Spatial reference identifier](https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier), `identifier` is the SRID itself.
163-
* `projjson`: [PROJJSON](https://proj.org/en/stable/specifications/projjson.html), `identifier` is the name of a table property or a file property where the projjson string is stored.
164-
165157
# Coordinate axis order
166158

167159
The axis order of the coordinates in WKB and bounding box stored in Parquet

0 commit comments

Comments
 (0)