如何解决如何将 qgis 图保存到 shapefile 以在 networkx 中使用?
我使用下面的代码从图层创建了一个图表。我想将此图保存到 shapefile 以在 networkx 中进一步使用。 我不想也将其另存为 QGIS 图层。那么如何在不将图层作为 writeAsvectorFormat 的第一个参数的情况下简单地保存它呢? 如果我尝试将现有图层作为参数,它会产生一个奇怪的错误:代码运行,Windows 在 Windows 资源管理器中的最近文件中显示 .shp 文件,但是当我想打开它时,它说该文件不存在,而且我也无法在它应该在的文件夹中看到它。 我也找不到如何只创建一个随机图层,所以如果真的需要创建一个图层,有人能告诉我怎么做吗?
感谢您的帮助
from qgis.analysis import *
vectorLayer = qgis.utils.iface.mapCanvas().currentLayer()
director = QgsvectorLayerDirector(vectorLayer,12,'2.0','3.0','1.0',QgsvectorLayerDirector.DirectionBoth)
# The index of the field that contains information about the edge speed
attributeId = 1
# Default speed value
defaultValue = 50
# Conversion from speed to metric units ('1' means no conversion)
toMetricFactor = 1
strategy = QgsNetworkSpeedStrategy(attributeId,defaultValue,toMetricFactor)
director.addStrategy(strategy)
builder = QgsGraphBuilder(vectorLayer.crs())
startPoint = QgsPointXY(16.8346339,46.8931070)
endPoint = QgsPointXY(16.8376039,46.8971058)
tiedPoints = director.makeGraph(builder,[startPoint,endPoint])
graph = builder.graph()
vl = QgsvectorLayer("Point","temp","memory")
QgsvectorFileWriter.writeAsvectorFormat(v1,"zzsh.shp","CP1250",vectorLayer.crs(),"ESRI Shapefile")
#QgsProject.instance().mapLayersByName('ZZMap07 copy')[0]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。