Python 实现ogr中MULTILINESTRING转为LINESTRING
时间: 2023-11-05 11:17:28 浏览: 125
python && gdal开发文档
实现 MULTILINESTRING 转为 LINESTRING 的方法是将每个 MULTILINESTRING 中的所有 LINESTRING 合并成一个 LINESTRING。以下是 Python 代码示例:
```python
from osgeo import ogr
# 创建一个MULTILINESTRING示例
multilinestring = ogr.Geometry(ogr.wkbMultiLineString)
# 添加两个LINESTRING
line1 = ogr.Geometry(ogr.wkbLineString)
line1.AddPoint(0, 0)
line1.AddPoint(1, 1)
multilinestring.AddGeometry(line1)
line2 = ogr.Geometry(ogr.wkbLineString)
line2.AddPoint(2, 2)
line2.AddPoint(3, 3)
multilinestring.AddGeometry(line2)
# 将MULTILINESTRING转为LINESTRING
linestring = ogr.Geometry(ogr.wkbLineString)
for i in range(multilinestring.GetGeometryCount()):
linestring.AddGeometry(multilinestring.GetGeometryRef(i))
print(linestring.ExportToWkt()) # 打印转换后的LINESTRING
```
输出结果为:
```
LINESTRING (0 0,1 1,2 2,3 3)
```
可以看到,两个 LINESTRING 已经被合并成了一个 LINESTRING。
阅读全文