Reputation: 2196
I have few OL3 MultiLineString objects like
Object { type: "MultiLineString", coordinates: Array[2] }
Object { type: "MultiLineString", coordinates: Array[3] }
Object { type: "MultiLineString", coordinates: Array[4] }
Object { type: "MultiLineString", coordinates: Array[3] }
Now I want to merge all of them in a new big MultiLineString ( like PostGIS ST_Union
function ). Is there some way to do this using OL3 or I must deal with JS arrays?
Upvotes: 0
Views: 419
Reputation: 899
Have you look at the library JSTS
Personnaly, I use this library to make an union on two geometry.
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));
Upvotes: 1
Reputation: 2196
Until better solution:
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;
Upvotes: 0