Create a MultiLine¶
A MultiLine is a collection of multiple lines that form a single geometry. MultiLines allow you to group multiple lines as a single geometry object.
In [1]:
Copied!
import geokit.core.geom
import geokit.core.vector
import geokit.core.srs
import geokit.core.geom
import geokit.core.vector
import geokit.core.srs
3. MultiLineString: Create MultiLines
In [2]:
Copied!
# Create a MultiLineString geometry from a list of coordinate tuples.
# Define a projection for Aachen area
aachen_centered_srs = geokit.core.srs.centeredLAEA(6.083, 50.775)
# Create a linestring geometry using a list of xy-coordinate tuples
aachen_line_1 = geokit.core.geom.line(
[
(0, 0),
(40000, 0),
(40000, 30000),
(20000, 50000),
(0, 30000),
(0, 0),
],
srs=aachen_centered_srs,
)
# Create a linestring geometry using a list of xy-coordinate tuples
aachen_line_2 = geokit.core.geom.line(
[
(40000, 0),
(80000, 0),
(80000, 30000),
(60000, 50000),
(40000, 30000),
],
srs=aachen_centered_srs,
)
lines = [aachen_line_1, aachen_line_2]
multi_line = geokit.core.geom.flatten(lines)
print(type(multi_line))
# Create a MultiLineString geometry from a list of coordinate tuples.
# Define a projection for Aachen area
aachen_centered_srs = geokit.core.srs.centeredLAEA(6.083, 50.775)
# Create a linestring geometry using a list of xy-coordinate tuples
aachen_line_1 = geokit.core.geom.line(
[
(0, 0),
(40000, 0),
(40000, 30000),
(20000, 50000),
(0, 30000),
(0, 0),
],
srs=aachen_centered_srs,
)
# Create a linestring geometry using a list of xy-coordinate tuples
aachen_line_2 = geokit.core.geom.line(
[
(40000, 0),
(80000, 0),
(80000, 30000),
(60000, 50000),
(40000, 30000),
],
srs=aachen_centered_srs,
)
lines = [aachen_line_1, aachen_line_2]
multi_line = geokit.core.geom.flatten(lines)
print(type(multi_line))
<class 'osgeo.ogr.Geometry'>
Visualize Multiline¶
In [3]:
Copied!
ax_handle = geokit.core.geom.drawGeoms(
geoms=multi_line,
figsize=(4, 4),
srs=aachen_centered_srs,
)
ax_handle = geokit.core.geom.drawGeoms(
geoms=multi_line,
figsize=(4, 4),
srs=aachen_centered_srs,
)
Store Multiline as Vector File¶
In [4]:
Copied!
# Simple vector creation
geokit.core.vector.createVector(geoms=multi_line, output="example_multi_lines.shp")
# Simple vector creation
geokit.core.vector.createVector(geoms=multi_line, output="example_multi_lines.shp")
Out[4]:
'/home/docs/checkouts/readthedocs.org/user_builds/geokit/checkouts/latest/docs/Examples/_03_geometries/_01_create_geometries/example_multi_lines.shp'