wdtinc / mapbox-vector-tile-java

Java Mapbox Vector Tile Library for Encoding/Decoding
Apache License 2.0
147 stars 73 forks source link

LinearRing #43

Open cezhang opened 4 years ago

cezhang commented 4 years ago

It is a special case of LineString. I know in mapbox specification, the LinearRing should refer to Polygon. BUT in some case, a LineString(that's a LinearRing) should be draw as a closed ring. I think the implement following:

public static boolean shouldClosePath(VectorTile.Tile.GeomType geomType) {
        final boolean closeReq;

        switch(geomType) {
            case POLYGON:
                closeReq = true;
                break;
            default:
                closeReq = false;
                break;
        }

        return closeReq;
    }

should include the case of LinearRing.

Do you think it's a issue?

winrid commented 4 years ago

@cezhang were you seeing any specific issues? Right now I'm seeing that water is not properly handled, which is a LinearRing. It seems to be due to this in PolyRingClassifierV2_1:

                    if(Math.abs(outerArea) < Math.abs(area)) {
                        continue; // Holes must have less area, could probably be handled in a isSimple() check
                    }