Dec 17th, 2023: [EN] Elasticsearch geospatial; go beyond OpenSearch

In 2021, OpenSearch and OpenSearch Dashboards began as a fork from Elasticsearch and Kibana. Although they share similar lineage, OpenSearch and OpenSearch Dashboards do not provide the same functionality. At the time of the fork, only Open Source licensed features could be cloned. This left OpenSearch with a subset of functionality. Since the fork, this feature gap has increased. Lets explore how only Elasticsearch and Kibana can deliver the fastest maps, reduce time to market, provide more insights, and adapt for tomorrow. Don't let the limits of OpenSearch limit you.

Deliver fast maps with vector tiles

Maps provide an intuitive way to display large amounts of data, from tens of thousands of points, to thousands of complex political boundaries, to tens of thousands of aggregation groupings - all on the same map! Transferring all of this data to your web browser is a time intensive process. Luckily, Mapbox solved this problem in the early 2010s with the introduction of vector tiles.

Vector tiles turbo charge your map by

  1. Breaking requests into smaller pieces. Your map viewport is broken into smaller square tiles. Each tile is fetched as its own request, parallelizing data loading.
  2. Sending less data to the browser. Complex geometries are simplified to remove details that are not visible at requested zoom level. For example, a political boundary may follow the contours of a river. While the boundary includes thousands of vertices to accurately follow the path of the river, those vertices are removed when that level of detail is not visible.
  3. Using space-efficient data serialization. Data is usually sent to your browser as text. For example, when the coordinate -77.036379543 is sent as text, each digit is sent as an individual character. Vector tile uses Google protocol buffers and encodes numbers as 16-bit or 32-bit floats, providing significant space reduction.

Elasticsearch provides the vector tile search API that returns search results as a binary Mapbox vector tile. The loading speed is impressively fast compared to text based _search API:

You need fast maps and only Elasticsearch can provide search results as a binary Mapbox vector tile.

Reduce time to market with Elastic Maps Service and Kibana maps

Elastic Maps Service

Reference maps provide vital context to geodata; political boundaries like country borders, natural features like rivers, and human made features like roads. Elastic Maps Service provides reference basemaps to power your geospatial visualizations in Kibana.

Running Elastic Stack on private networks? No problem, we have you covered. Only the Elastic Maps Service can be hosted on local networks.

Kibana maps

Immediately put your geodata to work with Kibana Maps. Use multiple layers and indices to show all your data in a single map. Plot individual documents or use aggregations to plot any data set, no matter how large. Use time slider to animate spatial temporal data. Customize each layer to highlight meaningful dimensions. Search across layers to focus on just the data you want. Combine free text search with field-based search. Set the time filter to restrict layers by time. Draw a polygon on the map or use the shape from features to create spatial filters. Filter individual layers to compares facets. Only Kibana maps provides instance access to all of Elasicsearch's geospatial capabilities.

This dashboard shows the effects of the Cumbre Vieja eruption.

Provide more insights with Geohex grid and Geo-line aggregations

Aggregations are an important analytics tool for grouping and summarizing vast data sets into consumable metrics.

Geohex grid aggregation

Aggregations allow you to group geodata into geometric areas and compare and contrast metrics across groups. Hexagonal grids is a popular mechanism for defining geometric areas where the area of each tile is approximately the same all over the planet, allowing for far more relevant statistical results. Only Elasticsearch provides hexagonal spatial analytics on lines and polygons.

This dashboards shows the distribution of churches in New York City.

Geo-line aggregation

With geodata, each data point can be more than just a single event, each data point can be part of a sequence of related events. For example, a single GPS coordinate provides a vehicle's location at a point in time, while a series of GPS coordinates show a vehicle's path. Only Elasticsearch provides the Geo-line aggregation, allowing you to turn points into lines, amplifying the information from a single event into a broader picture.

The image below, from track, visualize, and alert on assets in real time tutorial, shows public transportation bus coordinates from the city of Portland.

Adapt for tomorrow with schema on read

Workflows evolve over time. What is critical today may wane in relevance, while unused information becomes key data points for tomorrow's decisions. Schema on read allows your workflows to meet future challenges.

Only Elasticsearch provides schema on read with runtime fields. Runtime fields allow you to create fields that are evaluated at query time. Lets explore runtime fields with an example. Web logs are ingested into Elasticsearch. The web logs contain geospatial information about the request location but this information is not indexed on write. Now, we need to run a geospatial search. We can define a geo_point runtime field in the query and perform our geospatial search without re-indexing the web logs.

Try it out

Start a free trial on Elastic Cloud and get the most from your geodata only with Elasticsearch and Kibana.

3 Likes

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.