Commit Graph

23 Commits

Author SHA1 Message Date
Ignacio Vera ce46fbfba3
Remove vector tile feature flag (#76068)
Vector tile development is completed and this feature is ready to be released on 7.15. It is initially release as an experimental feature.

In particular this new feature introduces a new endpoint for generating vector tiles from geospatial data stored in Elasticsearch. This is a functionality that is interesting for any application that wants to render geospatial information stored in Elasticsearch on a map. The basic way to call this new end point looks like:

```
GET {index}/_mvt/{geo_field}/{z}/{x}/{y}
```

The return of this call is a vector tile as defined in the [MapBox vector tile specification](https://github.com/mapbox/vector-tile-spec/tree/master/2.1) so it can be easily render by any map supporting this format.
2021-08-05 08:08:31 -10:00
Ignacio Vera 2985f7f6bb
Fix GeoShapeWithDocValuesFieldTypeTests#testFetchVectorTile (#76063)
ignore invalid geometries the same way we are doing it in ArraySourceValueFetcher and
only simplify (multi)polygons if they are valid
2021-08-05 08:13:11 +02:00
Igor Motov 07eaaeb6e4
Remove MVT-specific logic from GeoFormatterFactory (#76049)
GeoFormatterFactory doesn't need to know that the extension points were created
specifically for the purpose of generating vector tiles. We can make it support
an arbitrary formats by moving all MVT-specific logic into formatter itself.

Follow up for #75367
2021-08-04 15:02:50 -10:00
Ignacio Vera bba0f6c4b1
Speed up creation of vector tiles features (#75874)
*  Simplify the shape when defined in spherical mercator projection instead of when defined in pixel space.
2021-08-04 07:58:28 +02:00
Ignacio Vera e93db2a0a9
vector tiles: Add runtime dependency on slf4j (#75869)
When an illegal geometry is sent to the mvt library and fails parsing it, it tries to log an error using slf4j library.
2021-08-02 07:19:18 +02:00
Ignacio Vera 368e2e0755
Add 'mvt' field type format to geo fields (#75367)
In this commit we extend the Fields API formats for geo data in order to produce vector tiles features directly 
on the data nodes. That helps the vector tile API to reduce the size of the data that needs to pull in order to 
create the answer.
2021-07-28 09:24:54 +02:00
Rory Hunter 944b3f3b56
Fix compiler warnings in :server - part 1 (#75708)
Part of #40366. Fix a number of javac issues when linting is enforced in `server/`.
2021-07-27 19:40:40 +01:00
Ignacio Vera 02c29433d1
Vector tiles: order hits by geometry size by default (#75621)
_mvt end point gives priority to geometries with larger area
2021-07-27 18:34:21 +02:00
Ignacio Vera dd2dff41a2
Vector tiles: Add support for Geometry collections (#75697)
It creates a feature fir each entry in the collection
2021-07-27 06:21:53 +02:00
Ignacio Vera c519b93816
Make some vector tile body parameters as query parameters (#75522)
Following the same structure of the _search API, this changes makes possible to define some 
body parameters as query parameters (e.g. defined as URL parameters)
2021-07-21 06:51:46 +02:00
Ignacio Vera 9032b6f765
Make FeatureFactory tests more resilient (#75405)
making sure the spatial relationships between the tile and the generated points is honour.
2021-07-20 07:58:57 +02:00
Ignacio Vera 5b36c903fd
Mute SimpleFeatureFactoryTests test points (#75359) 2021-07-15 09:04:37 +02:00
Ignacio Vera 05dc376db0
Mute FeatureFactoryTests testPoint methods (#75326) 2021-07-14 10:43:09 +02:00
Ignacio Vera e5eb0475d5
Refactor SimpleFeatureFactory so it has no external dependencies (#75232)
SimpleFeatureFactory has no external dependencies now.
2021-07-14 07:47:21 +02:00
Ignacio Vera 592b61a8e8
Avoid numerical errors during testing in vector tile factories (#74343) 2021-06-23 07:08:31 +02:00
Ignacio Vera b0fd3e642c
Fix VectorTileRequestTests#testWrongTile (#74346) 2021-06-22 08:33:04 +02:00
Ignacio Vera ac7f14d5a7
mute test VectorTileRequestTests#testWrongTile (#74339) 2021-06-21 07:44:32 +02:00
Igor Motov 8ae6cf44a0 Fix spotless issues 2021-06-16 15:27:36 -10:00
Igor Motov 29f939a143 Address review comments 2021-06-16 11:34:11 -10:00
Igor Motov 19ade1e173 Fix vector tile plugin after master merge 2021-06-16 11:33:53 -10:00
Igor Motov 106a9652b1
Update x-pack/plugin/vector-tile/src/main/java/org/elasticsearch/xpack/vectortile/feature/SimpleFeatureFactory.java
Co-authored-by: Adrien Grand <jpountz@gmail.com>
2021-06-16 11:29:10 -10:00
Igor Motov 88a43f9133
Update x-pack/plugin/vector-tile/src/main/java/org/elasticsearch/xpack/vectortile/feature/FeatureFactoryUtils.java
Co-authored-by: Adrien Grand <jpountz@gmail.com>
2021-06-16 11:28:42 -10:00
Ignacio Vera 2b275613d5
Move vector tile implementation to its own module (#73562)
In addition, a few things have been added:

* The API now handles cancellation which it turned to be a big performance booster.
* The API supports defining a sort field.
* RestVectorTileAction has been refactor to one class again. 
* VectorTileRequest class has been extracted so it can be unit tested.
2021-06-02 06:50:33 +02:00