Adding the following envelope to an index:

```
DELETE shape

PUT shape/
{
  "mappings": {
    "properties": {
      "geoLocationBox": {"type": "geo_shape"}
    }
  }
}

POST shape/_doc
{
  "geoLocationBox": {
    "type": "envelope",
    "coordinates": [
      [
        10.0,
        10.0
      ],
      [
        -10.0,
        -10.0
      ]
    ]
  }
}
```

If we try to plot it using vector tiles it gives the wrong bounding box as it should cross the dateline:

<img width="327" alt="image" src="https://user-images.githubusercontent.com/29038686/197124298-23855b83-91d0-4a92-a4d5-3ac728a917ef.png">

x-pack/plugin/vector-tile/src/main/java/org/elasticsearch/xpack/vectortile/feature/FeatureFactory.java
if (polygon.getNumberOfHoles() == 0) {
                return geomFactory.createPolygon(outerShell);
            }
            final org.locationtech.jts.geom.LinearRing[] holes = new org.locationtech.jts.geom.LinearRing[polygon.getNumberOfHoles()];
            for (int i = 0; i < polygon.getNumberOfHoles(); i++) {
                holes[i] = buildLinearRing(polygon.getHole(i));
            }
            return geomFactory.createPolygon(outerShell, holes);
        }
        private org.locationtech.jts.geom.LinearRing buildLinearRing(LinearRing ring) throws RuntimeException {
            final Coordinate[] coordinates = new Coordinate[ring.length()];
            for (int i = 0; i < ring.length(); i++) {
                final double x = SphericalMercatorUtils.lonToSphericalMercator(ring.getX(i));
                final double y = SphericalMercatorUtils.latToSphericalMercator(ring.getY(i));
                coordinates[i] = new Coordinate(x, y);
            }
            return geomFactory.createLinearRing(coordinates);
        }
        @Override
        public org.locationtech.jts.geom.Geometry visit(Rectangle rectangle) throws RuntimeException {
            final double xMin = SphericalMercatorUtils.lonToSphericalMercator(rectangle.getMinX());
            final double yMin = SphericalMercatorUtils.latToSphericalMercator(rectangle.getMinY());
            final double xMax = SphericalMercatorUtils.lonToSphericalMercator(rectangle.getMaxX());
            final double yMax = SphericalMercatorUtils.latToSphericalMercator(rectangle.getMaxY());
            final Envelope envelope = new Envelope(xMin, xMax, yMin, yMax);
            return geomFactory.toGeometry(envelope);
        }
    }
    private static class MvtCoordinateSequenceFilter implements CoordinateSequenceFilter {
        private final int extent;