mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 10:23:14 -04:00
* [maps] shapefile importer * render importer editor * shapefile_editor * break geojson_importer into abstract class * start shapefile_importer _readNext * parse shapefile * getProgress * comments * set table row count * hide shapefile editor once all files selected * i18n fixes * validate sidecar file names match .shp name * rename JsonUploadAndParse to GeoUploadWizard * eslint * tslint * fix getFileNameWithoutExt * backout i18n changes * reset i18n files to main * revert to main zh-CN.json * i18n updates * use geoJsonCleanAndValidate to clean features from all geo importers * update docs * doc refinement * tslint fix for loaders * eslint * shapefile upload functional test * geoFileUploadPageObject * add geojson functional test with geoFileUpload page object * replace old workflow functional tests with new ones based on geoFileUplad page object * tslint and eslint * eslint * fix jest test * use smaller chunks to avoid timeout in CI * try without geojson test * try small geojson file in CI * point.json * do not use copy to clipboard, does not work in CI * eslint * more linting * add retry * one more thing for functional tests Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
136 lines
4.9 KiB
Text
136 lines
4.9 KiB
Text
[role="xpack"]
|
|
[[indexing-geojson-data-tutorial]]
|
|
=== Tutorial: Index GeoJSON data
|
|
|
|
In this tutorial, you'll build a customized map that shows the flight path between
|
|
two airports, and the lightning hot spots on that route. You'll learn to:
|
|
|
|
* Import GeoJSON files into Kibana
|
|
* Index the files in {es}
|
|
* Display the data in a multi-layer map
|
|
|
|
[float]
|
|
=== Before you begin
|
|
|
|
This tutorial requires you to download the following GeoJSON sample data files.
|
|
These files are good examples of the types
|
|
of vector data that you can upload to Kibana and index in
|
|
Elasticsearch for display in Maps.
|
|
|
|
* https://raw.githubusercontent.com/elastic/examples/master/Maps/Getting%20Started%20Examples/geojson_upload_and_styling/logan_international_airport.geojson[Logan International Airport]
|
|
* https://raw.githubusercontent.com/elastic/examples/master/Maps/Getting%20Started%20Examples/geojson_upload_and_styling/bangor_international_airport.geojson[Bangor International Airport]
|
|
* https://raw.githubusercontent.com/elastic/examples/master/Maps/Getting%20Started%20Examples/geojson_upload_and_styling/lightning_detected.geojson[Lightning detected]
|
|
* https://raw.githubusercontent.com/elastic/examples/master/Maps/Getting%20Started%20Examples/geojson_upload_and_styling/original_flight_path.geojson[Original flight path]
|
|
* https://raw.githubusercontent.com/elastic/examples/master/Maps/Getting%20Started%20Examples/geojson_upload_and_styling/modified_flight_path.geojson[Modified flight path]
|
|
|
|
The data represents two real airports, two fictitious flight routes, and
|
|
fictitious lightning reports. You don't need to use all of
|
|
these files. Feel free to work with as many files as you'd like, or use valid GeoJSON
|
|
files of your own.
|
|
|
|
[float]
|
|
[role="xpack"]
|
|
=== Create and set up a map
|
|
|
|
. <<maps-create, Create a new map>>.
|
|
. Zoom in on the New England area in the northeast United States.
|
|
+
|
|
You're adding flight paths to this area, and this
|
|
sets up the map for a good view of the data.
|
|
+
|
|
[role="screenshot"]
|
|
image::maps/images/fu_gs_new_england_map.png[]
|
|
|
|
[float]
|
|
[[upload-and-index-geojson-file]]
|
|
=== Upload and index GeoJSON files
|
|
For each GeoJSON file you downloaded, complete the following steps:
|
|
|
|
. Click *Add layer*.
|
|
. From the list of layer types, click *Upload file*.
|
|
. Using the File Picker, upload the GeoJSON file.
|
|
+
|
|
Depending on the geometry type of your features, this will
|
|
auto-populate *Index type* with either {ref}/geo-point.html[geo_point] or
|
|
{ref}/geo-shape.html[geo_shape] and *Index name* with
|
|
`<file name>`.
|
|
|
|
. Click *Import file*.
|
|
+
|
|
You'll see activity as the GeoJSON Upload utility creates a new index
|
|
and data view for the data set. When the process is complete, you should
|
|
receive messages that the creation of the new index and data view
|
|
were successful.
|
|
|
|
. Click *Add layer*.
|
|
|
|
. In *Layer settings*, adjust settings and <<maps-vector-style-properties, properties>> as needed.
|
|
. Click *Save & close*.
|
|
. Once you've added all of the sample files,
|
|
<<maps-save, save your map>>.
|
|
+
|
|
At this point, you could consider the map complete,
|
|
but there are a few additions and tweaks that you can make to tell a
|
|
better story with your data.
|
|
+
|
|
[role="screenshot"]
|
|
image::maps/images/fu_gs_flight_paths.png[]
|
|
|
|
[float]
|
|
=== Add a heatmap aggregation layer
|
|
|
|
Looking at the `Lightning detected` layer, it's clear where lightning has
|
|
struck. What's less clear, is if there have been more lightning
|
|
strikes in some areas than others, in other words, where the lightning
|
|
hot spots are. An advantage of having indexed
|
|
{ref}/geo-point.html[geo_point] data for the
|
|
lightning strikes is that you can perform aggregations on the data.
|
|
|
|
. Click *Add layer*.
|
|
. From the list of layer types, click *Heat map*.
|
|
+
|
|
Because you indexed `lightning_detected.geojson` using the index name and
|
|
pattern `lightning_detected`, that data is available as a {ref}/geo-point.html[geo_point]
|
|
aggregation.
|
|
|
|
. Select `lightning_detected`.
|
|
. Click *Add layer* to add the heat map layer
|
|
"Lightning intensity".
|
|
+
|
|
The remaining default settings are good, but there are a couple of
|
|
settings that you might want to change.
|
|
|
|
. Play around with the *Layer Style* >
|
|
*Color range* setting.
|
|
+
|
|
Again the default looks good, but feel free to choose a
|
|
different color range.
|
|
|
|
. When you're finished modifying settings, click *Save & close*.
|
|
+
|
|
With your new lightning heat map layer, your map should look
|
|
like this:
|
|
+
|
|
[role="screenshot"]
|
|
image::maps/images/fu_gs_lightning_intensity.png[]
|
|
|
|
|
|
[float]
|
|
=== Organize the layers
|
|
|
|
Consider ways you might improve the appearance of the final map.
|
|
Small changes in how and when layers are shown can help tell a
|
|
better story with your data. Here are a few final tweaks
|
|
you might make:
|
|
|
|
* Update layer names
|
|
* Adjust styles for each layer
|
|
* Adjust the layer order
|
|
* Decide which layers to show at different zoom levels
|
|
|
|
When you've finished, again be sure to <<maps-save, save your work >>.
|
|
|
|
Your final map might look like this:
|
|
|
|
[role="screenshot"]
|
|
image::maps/images/fu_gs_final_map.png[]
|