在RhinoPython中打开geojson文件

2024-09-26 18:02:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望我的问题可以通过一些geojson的专业知识来解决。我遇到的问题与RhinoPython有关——McNeel的rhino5中的嵌入式IronPython引擎(更多信息请参阅:http://python.rhino3d.com/)。我不认为有必要成为RhinoPython的专家来回答这个问题。在

我试图用RhinoPython加载geojson文件。因为您不能像在Python中那样将geojson模块导入RhinoPython,所以我使用这里提供的自定义模块GeoJson2Rhino:https://github.com/localcode/rhinopythonscripts/blob/master/GeoJson2Rhino.py

现在我的脚本是这样的:

`import rhinoscriptsyntax as rs
 import sys
 rp_scripts = "rhinopythonscripts"
 sys.path.append(rp_scripts)
 import rhinopythonscripts

 import GeoJson2Rhino as geojson

 layer_1 = rs.GetLayer(layer='Layer 01')
 layer_color = rs.LayerColor(layer_1)

 f = open('test_3.geojson')
 gj_data = geojson.load(f,layer_1,layer_color)
 f.close()`

特别是:

^{pr2}$

当我试图从普通的Python2.7中提取geojson数据时,效果很好。但是在RhinoPython中,我得到了以下错误消息:消息:参数'text'需要字符串,但是得到了'file';引用gj_data=geojson.load(f) 一。在

我查看了上面链接的GeoJson2Rhino脚本,我想我已经正确地设置了函数的参数。据我所知,它似乎无法识别我的geojson文件,并希望它是一个字符串。有没有其他的文件打开函数可以用来让函数将其识别为geojson文件?在


Tags: 模块文件函数import脚本comlayeras
1条回答
网友
1楼 · 发布于 2024-09-26 18:02:07

根据错误消息判断,load方法需要一个字符串作为第一个输入,但在上面的示例中,传递的是一个file对象。试试这个。。。在

f = open('test_3.geojson')
g = f.read(); # read contents of 'f' into a string
gj_data = geojson.load(g)

…或者,如果您实际上不需要file对象。。。在

^{pr2}$

有关在python中读取文件的详细信息,请参见here。在

相关问题 更多 >

    热门问题