kopia lustrzana https://github.com/onthegomap/planetiler
Filter out points when min size is set (#1132)
rodzic
581824ac97
commit
f0e3d0cc0b
|
@ -83,7 +83,7 @@ public class FeatureRenderer implements Consumer<FeatureCollector.Feature>, Clos
|
|||
} else {
|
||||
if (minSize > 0) {
|
||||
if (geometry instanceof Puntal) {
|
||||
if (!feature.source().isPoint() && feature.getSourceFeaturePixelSizeAtZoom(zoom) < minSize) {
|
||||
if (feature.getSourceFeaturePixelSizeAtZoom(zoom) < minSize) {
|
||||
// don't emit points if the line or polygon feature it came from was too small
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -430,6 +430,47 @@ class PlanetilerTests {
|
|||
), results.tiles);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void testMinSize() throws Exception {
|
||||
double x = 0.5 + Z14_WIDTH / 4;
|
||||
double y = 0.5 + Z14_WIDTH / 4;
|
||||
double lat = GeoUtils.getWorldLat(y);
|
||||
double lng = GeoUtils.getWorldLon(x);
|
||||
double delta = 5e-5;
|
||||
|
||||
var results = runWithReaderFeatures(
|
||||
Map.of("threads", "1", "maxzoom", "15"),
|
||||
List.of(
|
||||
newReaderFeature(newPoint(lng, lat), Map.of(
|
||||
"type", "point"
|
||||
)),
|
||||
newReaderFeature(rectangle(lng - delta, lat - delta, lng + delta, lat + delta), Map.of(
|
||||
"type", "poly"
|
||||
)),
|
||||
newReaderFeature(newLineString(lng - delta, lat, lng + delta, lat), Map.of(
|
||||
"type", "line"
|
||||
))
|
||||
),
|
||||
(in, features) -> features.centroid("layer")
|
||||
.setZoomRange(13, 15)
|
||||
.setMinPixelSizeAtAllZooms(1)
|
||||
.inheritAttrFromSource("type")
|
||||
);
|
||||
|
||||
assertEquals(Map.of(
|
||||
TileCoord.ofXYZ(Z15_TILES / 2, Z15_TILES / 2, 15), List.of(
|
||||
feature(newPoint(128, 128), Map.of("type", "line")),
|
||||
feature(newPoint(128, 128), Map.of("type", "poly"))
|
||||
// omit point when min size is set
|
||||
),
|
||||
TileCoord.ofXYZ(Z14_TILES / 2, Z14_TILES / 2, 14), List.of(
|
||||
feature(newPoint(64, 64), Map.of("type", "line")),
|
||||
feature(newPoint(64, 64), Map.of("type", "poly"))
|
||||
) // features are too small at z13
|
||||
), results.tiles);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({
|
||||
"false,RETAIN_IMPORTANT_POINTS",
|
||||
|
|
Ładowanie…
Reference in New Issue