2

我创建了一个相当大的 CSV 文件(63000 行和大约 40 列),我想将它与 ESRI Shapefile 连接起来。我用过 ArcPy,但整个过程需要 30 个!分钟。如果我使用原始(小)CSV 文件进行连接,将其与 Shapefile 连接,然后使用 ArcPy 进行计算,并不断添加新字段并计算需要 20 分钟的内容。我正在寻找更快的解决方案,发现还有其他 Python 模块,例如 PySHP 或 DBFPy,但我还没有找到任何加入表的方法,希望可以更快。

我的目标已经是尽可能地远离 ArcPy,最好只使用 Python,所以最好不要使用 PostgreSQL 等。

有人有解决方案吗?非常感谢!

4

1 回答 1

0

不完全是我的问题的编程解决方案,而是一个实用的解决方案:

我的 shapefile 始终是静态的,只有特征的属性会改变。因此,我将原始 shapefile(仅以 , , 结尾的基本文件.shp.shx复制.prj到我的输出文件夹并将其重命名为我想要的名称。然后,我使用所有计算创建我的 CSV 文件并将其转换为 DBF,并将其与我的新 shapefile 的名称一起保存到输出文件夹中。ArcGIS 现在将连同我自己的 DBF 文件一起加载 shapefile,我什至根本不需要做任何 tablejoin!

现在我的程序只用了 50 秒!

我仍然对表连接问题的更多解决方案感兴趣,也许将来我会再次遇到该问题,其中 shapefile 并不总是静态的。我并没有真正理解 Nan 的解决方案,我仍然处于 Python 的“高级初学者”水平 :)

干杯

于 2016-10-06T09:11:13.043 回答