Magno C
Magno C

Reputation: 2196

Merging MultiLineStrings

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

Answers (2)

FatAl
FatAl

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

Magno C
Magno C

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

Related Questions