Use Schaub's topology-preserving simplification method for Polygons and MultiPolygons
This commit is contained in:
@@ -143,10 +143,10 @@ ol.geom.MultiPolygon.prototype.getSimplifiedGeometryInternal =
|
||||
function(squaredTolerance) {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
var simplifiedEndss = [];
|
||||
simplifiedFlatCoordinates.length =
|
||||
ol.geom.simplify.douglasPeuckerss(this.flatCoordinates, 0,
|
||||
this.endss_, this.stride, squaredTolerance, simplifiedFlatCoordinates,
|
||||
0, simplifiedEndss);
|
||||
simplifiedFlatCoordinates.length = ol.geom.simplify.schaubss(
|
||||
this.flatCoordinates, 0, this.endss_, this.stride,
|
||||
Math.sqrt(squaredTolerance),
|
||||
simplifiedFlatCoordinates, 0, simplifiedEndss);
|
||||
var simplifiedMultiPolygon = new ol.geom.MultiPolygon(null);
|
||||
simplifiedMultiPolygon.setFlatCoordinates(
|
||||
ol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEndss);
|
||||
|
||||
@@ -157,8 +157,9 @@ ol.geom.Polygon.prototype.getSimplifiedGeometryInternal =
|
||||
function(squaredTolerance) {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
var simplifiedEnds = [];
|
||||
simplifiedFlatCoordinates.length = ol.geom.simplify.douglasPeuckers(
|
||||
this.flatCoordinates, 0, this.ends_, this.stride, squaredTolerance,
|
||||
simplifiedFlatCoordinates.length = ol.geom.simplify.schaubs(
|
||||
this.flatCoordinates, 0, this.ends_, this.stride,
|
||||
Math.sqrt(squaredTolerance),
|
||||
simplifiedFlatCoordinates, 0, simplifiedEnds);
|
||||
var simplifiedPolygon = new ol.geom.Polygon(null);
|
||||
simplifiedPolygon.setFlatCoordinates(
|
||||
|
||||
Reference in New Issue
Block a user