Target License
This feature will be licensed Gold.
Overview
GeoJSON (and, indirectly, TopoJSON) optionally include a Coordinate Reference System to pass projection information along with a document. The CRS supports Standard EPSG Codes or custom projection information by way of explicit URN definitions:
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
Or a link (URI or aux file):
"crs": {
"type": "link",
"properties": {
"href": "http://example.com/crs/42",
"type": "proj4"
}
}
"crs": {
"type": "link",
"properties": {
"href": "data.crs",
"type": "ogcwkt"
}
}
This feature adds support for the crs object parameter to the geo_shape field mapper enabling users to select or define the projection for indexed geo_shapes.
Scope
- Any OGC Standard or user defined projection should be supported.
- This feature will initially apply to the
geo_shape field type but should also probably support geo_point types as well.
- Mult-projection hashing (e.g., Equirectangular / Equidistant / Equal-Area) will be worked under a separate issue.
Design
- The
crs field will simply define the meaning of the values in the coordinates/points field. (e.g., [-10300392.4831016, 3782546.51099759] in mercator maps to [-92.53, 32.32] in lon/lat.
- Like the
orientation field the crs field can be specified in the field mapping and overridden on each document insert.
- The document will store coordinates/points in the provided projection, it will not rewrite those points to lon/lat.
- A reprojection processor will be worked in a separate issue.
Questions / Considerations
- Should a geo query/filter accept an optional
crs field so that a user can request coordinates returned in their preferred projection? This will introduce overhead on the query, especially for geodesic to geocentric conversions where convergence is required. Default behavior will be standard WGS84 lon/lat on return. Default behavior will use the projection specified in the field mapper.
- There are 4,362 different projections.
Criticisms
- Technically the
crs field was removed in GeoJSON v1.4. For web-based visualizations this is not a bad thing as browser applications shouldn't attempt to support over four thousand projections. While the standards police may criticize for using an "obsolete" field, a storage system designed to handle GIS applications and operations requires projection information.
Tasks
Target License
This feature will be licensed Gold.
Overview
GeoJSON (and, indirectly, TopoJSON) optionally include a Coordinate Reference System to pass projection information along with a document. The CRS supports Standard EPSG Codes or custom projection information by way of explicit URN definitions:
Or a link (URI or aux file):
This feature adds support for the
crsobject parameter to thegeo_shapefield mapper enabling users to select or define the projection for indexed geo_shapes.Scope
geo_shapefield type but should also probably supportgeo_pointtypes as well.Design
crsfield will simply define the meaning of the values in the coordinates/points field. (e.g., [-10300392.4831016, 3782546.51099759] in mercator maps to [-92.53, 32.32] in lon/lat.orientationfield thecrsfield can be specified in the field mapping and overridden on each document insert.Questions / Considerations
crsfield so that a user can request coordinates returned in their preferred projection? This will introduce overhead on the query, especially for geodesic to geocentric conversions where convergence is required. Default behavior will be standard WGS84 lon/lat on return. Default behavior will use the projection specified in the field mapper.Criticisms
crsfield was removed in GeoJSON v1.4. For web-based visualizations this is not a bad thing as browser applications shouldn't attempt to support over four thousand projections. While the standards police may criticize for using an "obsolete" field, a storage system designed to handle GIS applications and operations requires projection information.Tasks
geo_reprojectingest processor for re-projecting geospatial data from one Coordinate System to another.