-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Vector Maps / Choropleth Maps / Shapefile based fill maps #5039
Comments
This would necessitate an Elasticsearch aggregation that allows for bucketing on geo shapes, which is not currently supported. |
@lukasolson sorry why would it require any change to elasticsearch? In the end it is just a different visualisation for a regular aggregation. The trick would be that the geo data is not part of the ElasticSearch data but instead is a parameter of the visualisation, so in the end the visualisation would map the chart results to some configurable geoJson. I agree however that it is different from the current tilemaps which indeed rely on ES to have geo coordinates. We've started to play with the Kibana code. It's currently a bit of a hack, but we'll submit a PR as soon as we got some time to polish things. Here is how it looks right now: |
Looks like this is using the terms aggregation? What standard is being used for naming the fields? How What is the license on the maps? Another way to accomplish this would be to come up with a pseudo aggregation which read the boundaries of a list of regions and used an Elasticsearch And you're right, this doesn't require an elasticsearch change. |
@rashidkpc the idea would be to use geoJson polygons and a configurable property to match the data returned by the aggregation. in our example we have regional codes, but those could be any kind of identifier (country codes, postcode...). Check http://eric.clst.org/wupl/Stuff/gz_2010_us_040_00_20m.json for an example file, which has the following properties:
In this case the property GEO_ID, STATE or NAME could be used depending of what data is in the index. So the geoJson property used to map the results should be configurable. Re license, this particular shape in the screenshot was manually created, but there is a lot of open boundary data available, for example from OpenStreetMaps. I'll check the geo_shape filters, sounds like it could be interesting too but not sure what the advantage would be. |
+1 |
5 similar comments
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
@rashidkpc here is the code of our proof of concept: https://github.com/eHealthAfrica/kibana/tree/kibanafillmap. It is quite far behind master, pretty rough and surely buggy. We've added a fill_map.js component. There is a lot of duplicate code because we didn't really know how to have a common map ancestor (it looks like it was supposed to happen at some point). The shapes are loaded via JSONP to overcome cross-site scripting. |
+1 |
10 similar comments
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1, this is a really major feature for geographic data pertaining to countries. |
+1 |
Choropleth maps (http://leafletjs.com/examples/choropleth.html) are a great way to visualise a numeric property for a polygon on a map (often administrative regions like: countries, states, communities, city parts).
The world maps provided by Kibana 3 could be implemented as a preset of this functionality - #1971 in Kibana4
As an example the map below displays the calls of the national Ebola Hotline in Guinea in a week:

it should support:
Potentially this could be leveraged? http://leafletjs.com/examples/choropleth.html (kudos to @recrudesce) or http://humangeo.github.io/leaflet-dvf/examples/html/colors.html .
We would be interested in contributing some developer time on this topic.
The text was updated successfully, but these errors were encountered: