合并多行字符串
Merging MultiLineStrings
我有几个像
这样的 OL3 MultiLineString 对象
Object { type: "MultiLineString", coordinates: Array[2] }
Object { type: "MultiLineString", coordinates: Array[3] }
Object { type: "MultiLineString", coordinates: Array[4] }
Object { type: "MultiLineString", coordinates: Array[3] }
现在我想将它们全部合并到一个新的大 MultiLineString 中(如 PostGIS ST_Union
函数)。有什么方法可以使用 OL3 来做到这一点,或者我必须处理 JS 数组?
直到更好的解决方案:
var newMultiline = {};
newMultiline.type = 'MultiLineString';
var newCoordinates = [];
for(x=0; x < routeData.length; x++ ) {
var geom = routeData[x].geometry;
for (z=0; z<geom.coordinates.length; z++ ) {
newCoordinates.push( geom.coordinates[z] )
}
}
newMultiline.coordinates = newCoordinates;
你看过图书馆吗JSTS
就个人而言,我使用这个库在两个几何体上建立并集。
var parser = new jsts.io.OL3Parser();
var a = parser.read(first_OlFeature.getGeometry());
var b = parser.read(second_OlFeature.getGeometry());
var unionGeometry = a.union(b);
var featureFromUnion = new ol.Feature().setGeometry(parser.write(unionGeometry));
我有几个像
这样的 OL3 MultiLineString 对象Object { type: "MultiLineString", coordinates: Array[2] }
Object { type: "MultiLineString", coordinates: Array[3] }
Object { type: "MultiLineString", coordinates: Array[4] }
Object { type: "MultiLineString", coordinates: Array[3] }
现在我想将它们全部合并到一个新的大 MultiLineString 中(如 PostGIS ST_Union
函数)。有什么方法可以使用 OL3 来做到这一点,或者我必须处理 JS 数组?
直到更好的解决方案:
var newMultiline = {};
newMultiline.type = 'MultiLineString';
var newCoordinates = [];
for(x=0; x < routeData.length; x++ ) {
var geom = routeData[x].geometry;
for (z=0; z<geom.coordinates.length; z++ ) {
newCoordinates.push( geom.coordinates[z] )
}
}
newMultiline.coordinates = newCoordinates;
你看过图书馆吗JSTS
就个人而言,我使用这个库在两个几何体上建立并集。
var parser = new jsts.io.OL3Parser();
var a = parser.read(first_OlFeature.getGeometry());
var b = parser.read(second_OlFeature.getGeometry());
var unionGeometry = a.union(b);
var featureFromUnion = new ol.Feature().setGeometry(parser.write(unionGeometry));