-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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 layers #76526
Conversation
Pinging @elastic/kibana-gis (Team:Geo) |
reviewers - this is a first draft, but ready for first look. Biggest outstanding issues is test coverage, and a few known bugs that I'll keep track of in the description |
…into maps/es_mvt_grids
|
yes. Without it, our data responses would be getting too large, causing the ES-request to error-out With .mvt the tiles get cached client-side, and are only requested once too, so Maps is making overall fewer request when panning/zooming.
Agreed as well. This is an issue independent of this PR. It occurs in a few edge-cases for regular JSON-data too. It occurs due to some limitations in mapbox-gl on how data and styles need to be registered, combined with the overall flow how Maps refreshes data and styles. I'd prefer to address this separately, as it affects more than the "super fine" option. I will create an issue for this. |
Separate issue sounds good. |
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.js
Outdated
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.js
Outdated
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.js
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.js
Outdated
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.js
Outdated
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/resolution_editor.test.tsx
Outdated
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/resolution_editor.test.tsx
Outdated
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.js
Outdated
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.test.tsx
Outdated
Show resolved
Hide resolved
x-pack/plugins/maps/public/classes/styles/heatmap/heatmap_style.tsx
Outdated
Show resolved
Hide resolved
Closing due to merge errors. Replacing with #78201 |
💔 Build Failed
Failed CI Steps
Test FailuresChrome UI Functional Tests.test/functional/apps/visualize/_tile_map·js.visualize app tile map visualize app incomplete config "before all" hook for "should be able to zoom in twice"Standard Out
Stack Trace
Chrome UI Functional Tests.test/functional/apps/visualize/_tile_map·js.visualize app tile map visualize app incomplete config "before all" hook for "should be able to zoom in twice"Standard Out
Stack Trace
Chrome UI Functional Tests.test/functional/apps/dashboard/dashboard_state·js.dashboard app using legacy data dashboard state Tile map with no changes will update with visualization changesStandard Out
Stack Trace
and 3 more failures, only showing the first 3. Build metrics@kbn/optimizer bundle module count
async chunks size
page load bundle size
distributable file count
History
To update your PR or re-run it, just comment with: |
THIS HAS MOVED TO #78201
Summary
Adds super-fine option to grids/clusters and heatmaps layers. This uses vector-tiles as the back-end data format.
Addition of the super-fine option
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 implementsITiledSingleLayerVectorSource
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
supportsAutoDomain
is overloaded)