1

我有兴趣从 ESRI.shp文件中收集信息。特别.shp是折线要素类的文件。

当我打开.dbf一个要素类时,我得到了我所期望的:一个可以在 excel 中打开并包含要素类表中的信息的表。

但是,当我尝试.shp在任何程序(excel、textpad 等)中打开文件时,我得到的只是一堆乱码和不寻常的 ASCII 字符。

我想使用 Python (2.x) 来解释这个文件并从中获取信息(在这种情况下是折线的顶点)。

我不想使用任何模块或非内置工具,因为我真的对这个过程的工作方式很感兴趣,并且我不想要任何依赖项。

感谢您提供正确方向的任何提示或要点!

4

3 回答 3

3

您的问题基本上是“我有一个文件,其中包含以任意二进制格式存储的数据。如何使用 python 读取这样的文件?”

答案是,这个链接包含文件格式的描述。根据技术规范编写解剖器。

于 2013-05-03T17:23:35.710 回答
2

如果您不想费力编写解析器,您应该看看pyshp,一个纯 Python shapefile 库。我已经用了几个月了,发现它很容易使用。

如果你在网上搜索,还有一个 python 绑定到 shapelib。但我发现纯 Python 解决方案更容易破解。

于 2013-05-03T23:10:22.757 回答
0

可能是一个很长的镜头,但您应该检查 ctypes,并且可能使用可以读取该类型文件的程序(如果它甚至存在大声笑)附带的 .dll 文件。根据我的经验,当你开始挖掘 .dll 时,事情会变得很奇怪

于 2013-05-03T17:22:35.207 回答