-
Notifications
You must be signed in to change notification settings - Fork 275
Description
First, I thank everyone participating in this project.
I guess it's not a bug, but I now found the case that
- The original geojson is not self intersecting.
- As a result of simplify in converting to vector-tile, generated vector-tile becomes self intersecting.
The original data I used is data of the Amami Islands from National land numerical information, Japan.
The geojson I attached is clipped from the original.
This clipped geojson is not self intersecting.
A20-070402_46_AmamiIslands_kasari.json
But after I converting this geojson to vector-tile using geojson-vt in the code below,
generated vector-tile becomes self intersecting as a result of simplify.
import geojsonvt from 'geojson-vt';
import geojson from "./geojson/A20-070402_46_AmamiIslands_kasari.json";
const tileIndex = geojsonvt(geojson);
const z = 10;
const x = 880;
const y = 427;
// request a particular tile
const features = tileIndex.getTile(z, x, y).features;
const amami_geometry = features[12].geometry[0];
// get WKT
let cood = "POLYGON((";
for (let i = 0; i < amami_geometry.length; i++) {
cood+= amami_geometry[i][0] + (' -') + amami_geometry[i][1] + ',';
}
cood += "))";
console.log(cood);Left: Original geojson
Right: Geometry made into vector tiles using geojson-vt
I'm using Maplibre and it seems to use geojson-vt in converting to vector-tile.
In Maplibre project, an issue that self intersecting vector tile causes displaying unexpected form has been raised before.
I tried to display the geojson I attached in Maplibre, but it is also not displayed as I expected.
*An acute-angled triangle is displayed in particular zoom level:9.0-10.9. (At the point of blue arrow)
The result I expect is the generated vector tile from geojson-vt is not self intersecting
if the original geo-json is as well. Is it possible to fix this case in geojson-vt?
*As I search similar cases, Tippecanoe corrects the geometry using mapbox/wagyu libraly.
