from shapely.wkt import loads from shapely.geometry import MultiLineString import pylab wkta = "MULTILINESTRING((13401 0, 13778 0), (14185 0, 14276 0), (14360 0, 15074 0))" wktb = "MULTILINESTRING((13401 0, 13778 0), (14185 0, 14276 0), (14360 0, 15060 0), (15303 0, 15373 0), (15770 0, 15859 0), (15944 0, 16123 0), (16333 0, 16395 0))" a = loads(wkta) b = loads(wktb) union = a.union(b) c = MultiLineString([pt.coords for pt in union.boundary.geoms]) print c.wkt