Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将图形输出为“.xml”`_Python_Xml_Networkx - Fatal编程技术网

Python 将图形输出为“.xml”`

Python 将图形输出为“.xml”`,python,xml,networkx,Python,Xml,Networkx,我有一个shapefile,我正在将其转换为.xml文件,以便在MATSim中使用。文件结构如下: ..... ... 我使用NetworkX Python库来实现这一点,它可以将shapefile读取为图形,并将图形导出为GEXF对象。这段代码(本质上)输出的内容接近网络规范,但还不够接近网络规范 将networkx导入为nx G=nx.read_shp(“expcuts1.shp”) 开始=0 G=nx。将节点标签转换为整数(G,第一个标签=开始, label_attribute=“co

我有一个shapefile,我正在将其转换为
.xml
文件,以便在MATSim中使用。文件结构如下:


.....
...
我使用NetworkX Python库来实现这一点,它可以将shapefile读取为图形,并将图形导出为
GEXF
对象。这段代码(本质上)输出的内容接近网络规范,但还不够接近网络规范

将networkx导入为nx
G=nx.read_shp(“expcuts1.shp”)
开始=0
G=nx。将节点标签转换为整数(G,第一个标签=开始,
label_attribute=“coord”)
#使用所需的元素构建新对象
H=nx.DiGraph(name=“Python NetworkX从FAF 3.4导出”)
H.从(G.边())添加边
#在节点属性中存储坐标
对于范围内的i(len(H)):
H.node[i]['x']=G.node[i]['coord'][0]
H.node[i]['y']=G.node[i]['coord'][1]
#导出为xml(实际上是gexl,但这非常接近)
write_gexf(H,'test.xml')


. 任何提示?

简短:如果这是一次性项目,请调整NetworkX中的
write\u gexf
函数

长:

对于MATSim,您需要一个有向图。Gexf允许使用
defaultedgetype=“directed”
。您可以向边缘添加更多属性,例如通行能力、车道

<edge weight="1.0" target="109001663" source="109001672" label="network link" id="99999">
 <attvalues>
  <attvalue start="0.0" value="0" for="capacity"/>
  <attvalue start="0.0" value="0" for="length"/>
 </attvalues>
</edge>

每小时),以及车道数

请注意,容量取决于capperiod,即
capperiod=“01:00:00”
表示有效期为一小时


另外,您还可以在哪里找到一些gexf辅助类,主要用于将MATSim网络转换为gexf,例如用于在Gephi中分析它们。

您能肯定地说该图是非循环的吗?如果不是,应该如何处理循环?图表肯定是循环的;它代表了一个公路网。不过,图形不一定需要定向。我可以创建
H
作为
图形
有向图
,并且输出相同。