Index: MapBuilder.java =================================================================== --- MapBuilder.java (revision 4677) +++ MapBuilder.java (working copy) @@ -1188,10 +1188,10 @@ LayerFilterChain filters = new LayerFilterChain(config); if (enableLineCleanFilters && (res < 24)) { + if(reducePointError > 0) + filters.addFilter(new DouglasPeuckerFilter(reducePointError)); filters.addFilter(new RoundCoordsFilter()); filters.addFilter(new SizeFilter(MIN_SIZE_LINE)); - if(reducePointError > 0) - filters.addFilter(new DouglasPeuckerFilter(reducePointError)); } filters.addFilter(new LineSplitterFilter()); filters.addFilter(new RemoveEmpty()); @@ -1243,6 +1243,8 @@ LayerFilterChain filters = new LayerFilterChain(config); filters.addFilter(new PolygonSplitterFilter()); if (enableLineCleanFilters && (res < 24)) { + if(reducePointErrorPolygon > 0) + filters.addFilter(new DouglasPeuckerFilter(reducePointErrorPolygon)); filters.addFilter(new RoundCoordsFilter()); int sizefilterVal = getMinSizePolygonForResolution(res); if (sizefilterVal > 0) @@ -1249,8 +1251,6 @@ filters.addFilter(new SizeFilter(sizefilterVal)); //DouglasPeucker behaves at the moment not really optimal at low zooms, but acceptable. //Is there an similar algorithm for polygons? - if(reducePointErrorPolygon > 0) - filters.addFilter(new DouglasPeuckerFilter(reducePointErrorPolygon)); } filters.addFilter(new RemoveObsoletePointsFilter()); filters.addFilter(new RemoveEmpty());