我有困难创建一个层与geom类型作为几何集合。因此,我无法输出到shapefile。我附上下面的代码。dstLayer为空。如果geom type是polygon或multilinestring或任何其他类型,则不会发生这种情况。在
spatialReference = osr.SpatialReference()
spatialReference.SetWellKnownGeogCS('WGS84')
driver = ogr.GetDriverByName("ESRI Shapefile")
dstPath = os.path.join("common-border", "border.shp")
dstFile = driver.CreateDataSource(dstPath)
dstLayer = dstFile.CreateLayer("layer", spatialReference, ogr.wkbGeometryCollection)
任何帮助都将不胜感激。在
谢谢
我通过将集合转换为其单独的组件,然后将其打印到图层中,解决了这个问题。因为shapefile不支持集合,所以没有其他方法。因为我的目标是把它绘制到shapefile上,这对我很有用。在
ESRI Shapefile驱动程序支持每层一个几何体类型,这不能是几何体集合类型。在
所以看起来像这样:
您需要将每个几何体类型添加到适当的层。也许你可以用字典做一些非常聪明的事情来做映射,如果几何体类型的键不存在,它可以创建所需的层,等等
相关问题 更多 >
编程相关推荐