-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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
[GEO] Support for Spatial Coordinate Reference Systems #48953
Comments
Pinging @elastic/es-analytics-geo (:Analytics/Geo) |
Will this effect current clients who are expecting geo_shape fields to have lat/lon EPSG:4326 coordinates? In other words, when this merges, will Elasticsearch-clients still be able to make the assumption that searches on geo_shape fields will return coordinates in lat/lon? Or will clients now explicitly have to check the field-mapping? Will this require certain additional parameters in the qeuery-DS? imho this has the potential to break general purpose ES-clients e.g. Kibana, possibly gdal, ... without corresponding changes on the client-end. |
The expected behavior is that search results will be returned in the same projection as they were indexed. Search time reprojection is a separate feature that will be further explored (as it is extremely costly, and likely not scalable, to reproject every result). To achieve what you're describing it is suggested that clients use the |
We should coordinate then that before this merges on the ES-side, the necessary changes can be made on the Kibana-side so they are released in the same minor. Otherwise, Kibana will display indices that cannot be visualized. This would be a poor user experience.
So that is different then from what we discussed earlier, where I though the recommendation was that clients could query for the documents in lon/lat and get the results in lon/lat. In effect, this would mean that elastic/kibana#67476 is not an option, at least initially? |
Some notes from a client-perspective about possible impact: Kibana (and vast majority of web-apps using common mapping toolkits like mapbox, leaflet, google maps, ...) expect coordinates to be latitude/longitudes in the WGS84 datum
Will these new reference systems support all aggregation with the current semantics?
Because of The semantics of what it means for a point/shape to be indexed is currently somewhat fuzzy in ES.
These are a fair compromise, and imho strike a nice balance:
Some specific questions:
|
Now that gold is discontinued, are there any thoughts on whether projection support is going to be open for all, please? We may be interested in contributing but would like to know the target license. |
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
crs
object parameter to thegeo_shape
field mapper enabling users to select or define the projection for indexed geo_shapes.Scope
geo_shape
field type but should also probably supportgeo_point
types as well.Design
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.orientation
field thecrs
field can be specified in the field mapping and overridden on each document insert.Questions / Considerations
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.Criticisms
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
geo_reproject
ingest processor for re-projecting geospatial data from one Coordinate System to another.The text was updated successfully, but these errors were encountered: