Skip to content
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

[Maps] Add super-fine option to grid/cluster layer #78201

Merged
merged 53 commits into from
Sep 23, 2020

Conversation

thomasneirynck
Copy link
Contributor

@thomasneirynck thomasneirynck commented Sep 22, 2020

This replaces the original #76526 due to merge errors.


Summary

Adds super-fine option to grids/clusters and heatmaps layers. This uses vector-tiles as the back-end data format.

image

Addition of the super-fine option

image

The super-fine option currently returns tiles with a resolution of 128x128 = ((2^7)^2) . This is well under the limit of 256x256 of Elasticsearch.

Making this much finer though will start to create sparsity-artefacts when zooming in on data. This probably needs some experimentation.

Adds a new backend route mvt/getGridTile

This produces the tile. It either returns a tile with cluster-bubbles or with rectangular cells, depending on the ESGeoGridSourceDescriptor.requestType-configuration.

Moved ES-response decoding utils to common for reuse on server-backend.

Enabled for grid and cluster layer

(not heatmap just yet)

ESGeoGridSource now implements ITiledSingleLayerVectorSource

Styling limitation on countable-metrics

Countable metrics cannot be auto-styled using a backend meta-call for ES extented-stats This runs into a similar limitation as for 3rd party vector tiles, where colors can only be configured with custom-ranges (iso. default color-ramps) and that size cannot be styled by-value (cf. #62867).


Checklist

Delete any items that are not applicable to this PR.

For maintainers

Todo

  • test coverage
  • top-terms styling not working (edge-case in how the use of supportsAutoDomain is overloaded)
  • linting
  • type checking

@thomasneirynck thomasneirynck requested a review from a team as a code owner September 22, 2020 19:14
@thomasneirynck thomasneirynck changed the title [Maps] Open [Maps] Add super-fine option to grid/cluster layer [Maps] Add super-fine option to grid/cluster layer Sep 22, 2020
@thomasneirynck thomasneirynck added the [Deprecated-Use Team:Presentation]Team:Geo Former Team Label for Geo Team. Now use Team:Presentation label Sep 22, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-gis (Team:Geo)

Copy link
Contributor

@nreese nreese left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
code review and tested in chrome

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Build metrics

@kbn/optimizer bundle module count

id value diff baseline
maps 695 +1 694

async chunks size

id value diff baseline
maps 3.3MB +5.0KB 3.3MB

page load bundle size

id value diff baseline
maps 301.6KB +524.0B 301.1KB

distributable file count

id value diff baseline
default 45946 +4 45942

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@thomasneirynck
Copy link
Contributor Author

also approved by #76526 (review)

@thomasneirynck thomasneirynck merged commit 3c6f242 into elastic:master Sep 23, 2020
thomasneirynck added a commit to thomasneirynck/kibana that referenced this pull request Sep 23, 2020
Adds a super-fine option for grids and cluster layers. This uses the .mvt tile format to deliver the data.
thomasneirynck added a commit that referenced this pull request Sep 23, 2020
Adds a super-fine option for grids and cluster layers. This uses the .mvt tile format to deliver the data.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants