使用 read.gml 或 read.graph 读取 GML 文件时出错
Error when using read.gml or read.graph to read a GML file
我正在尝试从 spanish building census 加载文件(那里的任何文件都将作为示例,我使用的是 03001-ADSUBIA 建筑之一)。
我尝试了 Multiplex 包中的 read.gml 函数并得到以下错误:
read.gml("A.ES.SDGC.BU.03001.building.gml")
Error in which(("node" == arx) == TRUE)[1]:which(("edge" == arx) == TRUE)[1] :
NA/NaN argument
然后我尝试了 igraph 包中的 read.graph,也得到了一个错误:
read.graph("A.ES.SDGC.BU.46900.building.gml", format=c("gml"))
Error in .Call("R_igraph_read_graph_gml", file, PACKAGE = "igraph") :
At foreign.c:1127 : Parse error in GML file, line 1 (syntax error, unexpected STRING, expecting $end), Parse error
我做错了什么,我该如何解决?
找到替代方案on this post。但是我想知道为什么像 multiplex 或 igraph 这样的特定包无法正确完成工作...
代码:
llayer<-ogrListLayers("A.ES.SDGC.BU.03001.building.gml")[1]
a<- readOGR(dsn="A.ES.SDGC.BU.46900.building.gml", layer=llayer, encoding = "UTF-8")
igraph
和 multiplex
不起作用,因为那是不同的 GML:Graph Modeling Language,顾名思义,是用于图形(或网络)的。您的 GML 是地理标记语言。
我已经成功使用GEPHI打开gml文件,然后使用GEPHI的导出功能(菜单驱动)创建'new'在R中用igraph
打开的gml文件
有关 GEPHI 和 gml 文件定义的详细信息are here。
我正在尝试从 spanish building census 加载文件(那里的任何文件都将作为示例,我使用的是 03001-ADSUBIA 建筑之一)。
我尝试了 Multiplex 包中的 read.gml 函数并得到以下错误:
read.gml("A.ES.SDGC.BU.03001.building.gml")
Error in which(("node" == arx) == TRUE)[1]:which(("edge" == arx) == TRUE)[1] :
NA/NaN argument
然后我尝试了 igraph 包中的 read.graph,也得到了一个错误:
read.graph("A.ES.SDGC.BU.46900.building.gml", format=c("gml"))
Error in .Call("R_igraph_read_graph_gml", file, PACKAGE = "igraph") :
At foreign.c:1127 : Parse error in GML file, line 1 (syntax error, unexpected STRING, expecting $end), Parse error
我做错了什么,我该如何解决?
找到替代方案on this post。但是我想知道为什么像 multiplex 或 igraph 这样的特定包无法正确完成工作...
代码:
llayer<-ogrListLayers("A.ES.SDGC.BU.03001.building.gml")[1]
a<- readOGR(dsn="A.ES.SDGC.BU.46900.building.gml", layer=llayer, encoding = "UTF-8")
igraph
和 multiplex
不起作用,因为那是不同的 GML:Graph Modeling Language,顾名思义,是用于图形(或网络)的。您的 GML 是地理标记语言。
我已经成功使用GEPHI打开gml文件,然后使用GEPHI的导出功能(菜单驱动)创建'new'在R中用igraph
打开的gml文件
有关 GEPHI 和 gml 文件定义的详细信息are here。