问题标签 [fiona]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
463 浏览

python - 组合两个形状

我想将国家和美国各州的数据组合成一个形状。fiona.open只支持打开一个文件。有没有办法将许多形状组合成一个并使用单个集合?

0 投票
2 回答
3995 浏览

python - OSError:在 Mac OSX 上找不到 libspatialindex_c 库文件

系统:Mac OSX

我是 Python 的新用户,目前正在探索 GIS。尝试使用 geopandas 读取形状文件,但我得到:OSError:找不到 libspatialindex_c 库文件

正常使用 Python 3.7,但由于 geopandas 在这方面存在依赖性问题,因此按照此处的建议在 Python2 上运行。

我在这里所做的是使用mac终端,使用python2创建新环境并在那里安装geopandas并尝试读取形状文件。

conda create -n mytest python=2.7 geopandas -c conda-forge

源激活 mytest

导入地理熊猫

geopandas.read_file('Random_points_twitter.shp')

0 0 5.27735 50.25398 0

1 1 3.29896 51.32356 1

2 2 3.29896 51.32356 2

我可以在终端中成功阅读此内容。但是在浏览器中,它返回一个错误。

我所做的是首先在我的新环境上安装 jupyter 并在浏览器上运行笔记本(代码如下)

(mytest) conda install jupyter

(mytest) jupyter-notebook

在带有新笔记本的浏览器上,尝试导入和读取形状文件(类似于我在终端中所做的),但它给了我这个错误:

#

() ----> 1 导入 geopandas 中的 OSError Traceback (最近一次调用最后一次)

/Users/rldy/anaconda/lib/python2.7/site-packages/geopandas/ init .py in () ----> 1 from geopandas.geoseries 从 geopandas.geodataframe 导入 GeoSeries 2 从 geopandas.io 导入 GeoDataFrame 3 4 .file 从 geopandas.io.sql 导入 read_file 5 导入 read_postgis

/Users/rldy/anaconda/lib/python2.7/site-packages/geopandas/geoseries.py in () 10 11 from geopandas.plotting import plot_series ---> 12 from geopandas.base import GeoPandasBase, _series_unary_op, _CoordinateIndexer 13 14

/Users/rldy/anaconda/lib/python2.7/site-packages/geopandas/base.py in () 12 13 try: ---> 14 from rtree.core import RTreeError 15 HAS_SINDEX = True 16 except ImportError:

/Users/rldy/anaconda/lib/python2.7/site-packages/rtree/ init .py in () ----> 1 from .index import Rtree 2 3 from .core import rt 4 5 version = '0.8. 3'

/Users/rldy/anaconda/lib/python2.7/site-packages/rtree/index.py in () 3 import pprint 4 ----> 5 from . 导入核心 6 导入 ctypes 7 尝试:

/Users/rldy/anaconda/lib/python2.7/site-packages/rtree/core.py in () 123 124 如果 lib_name 为 None:--> 125 raise OSError("Could not find libspatialindex_c library file") 126 127 rt = ctypes.CDLL(lib_name)

OSError: 找不到 libspatialindex_c 库文件

#

我的 conda 列表(如下)已经安装了 libspatial,但是当使用浏览器在 Jupyter Notebook 上运行时给我这个错误。有任何想法吗?

0 投票
2 回答
613 浏览

shapely - shapefile 输出的问题 - fiona

我正在使用 Fiona 编写一个 shapefile,其中包含美国人口普查国会选区和人口普查区域的几何图形以及一些计算属性。不幸的是,我的文件被输出为空白。我可以看到 QGIS 中的记录,但看不到几何图形。

在我的代码中,我从人口普查 shapefile 中读取形状优美的多边形,计算属性并将具有相关属性的多边形提供给 fiona 文件编写器。

self.w 是在传递给对象后对输出的引用,而 self.subunit 是一个 pysal 多边形几何,我将其转换为 shapely 以便将其写入我的 shapefile。有没有人在使用 fiona 编写这个 shapefile 时遇到问题并知道我的问题可能出在哪里?

0 投票
0 回答
324 浏览

python - 从十六进制形状更改 espg(使用 shapely.wkb.loads 转换)

我正在使用一个名为college3

shape专栏最初采用以下格式编写:

我通过执行以下操作转换了十六进制形状:

这产生了一个新的college3['geometry']

但是,我想投影college3['geometry']epsg=4269. 当我尝试

我得到相同的结果:

如何将我的更改college3['geometry']为 lat long epsg=4269?我将不胜感激任何帮助

0 投票
1 回答
1362 浏览

python - 检查点是否在边界内

我有一个描述西班牙边界的点列表。我希望能够判断一对纬度,经度是否在这些边界内。我尝试了以下方法:

我知道我正在检索积分,因为我能够绘制并获得所需的结果:

(在下面的链接中绘制) 绘制结果

我执行以下操作以将点变成多边形:

然后我使用 contains 函数,总是出错。

这些都返回false。事实上,我试图返回一个 True 并没有得到一个点。

我已经尝试了各种各样的东西,我想我一定错过了一些基本的东西。也许西班牙有岛屿并且有不止一个多边形的事实是问题所在?我迷路了。欢迎任何帮助。

0 投票
2 回答
3932 浏览

anaconda - 全新安装 fiona 后导入错误

我安装fiona如下:

它安装没有任何错误。当我尝试导入fiona时,我收到以下错误:

回溯(最近一次通话最后):

如果它有助于诊断,这里是输出conda list

(...)

任何想法可能是什么问题?

0 投票
1 回答
195 浏览

py2exe - py2exe TypeError: coercing to Unicode: need string or buffer, NoneType found

试图让 py2exe 为我编译一个使用 fiona 的脚本。

我使用的软件包:

然后我最终得到以下错误:

干杯

0 投票
2 回答
270 浏览

python - 菲奥娜打开 OGR_VRT

我有 OGR 虚拟格式作为 test.vrt 文件,并尝试使用 Python Fionalib 读取它。

之后我收到一个错误:

fiona.errors.DriverError: unsupported driver: 'OGR_VRT'

这是我的 test.vrt 文件:

我做错了什么?

0 投票
0 回答
5975 浏览

python - 将 Geopandas 数据框导出到 shapefile

我很难将 geopandas 数据框保存到带有属性的 ESRI shapefile 中。我拥有的数据框如下所示:

例如链接到 CSV 文件

当我执行命令时:

我收到以下错误:

运行上面的命令,我期待 geopandas 创建&gdf_out.shp和其他文件.proj.dbf...

我正在使用具有以下版本的 Jupyter:

你知道如何解决吗?

此致,

0 投票
2 回答
758 浏览

python - 编译的 Python 脚本不起作用

我用 Python 为同事设计了一个小工具,我尝试用 PyInstaller 编译它来分发。这是我运行可执行文件时发生的情况:

在此处输入图像描述

以下是我在编译时收到的消息:

公司的一位工程师找了我,她说可能是我的机器上的GDAL和Fiona的版本不兼容,但是她太忙了,没有时间帮忙。

我正在使用Python 3.6,带有GDAL 2.2.4Fiona 1.7.11 post1,两者都是通过从https://www.lfd.uci.edu/~gohlke/pythonlibs/下载的轮子安装的。

我在 functions.py 中导入的模块如下:

我在任何地方都找不到类似的问题。

补充:我检查我确实安装了 pypiwin32。我忘了提到我的系统变量中没有 Python(因为我需要保持 Python 27 才能使 Arcpy 工作),路径中也没有 GDAL,这有关系吗?如果是这样,我该如何解决?