我对从ESRI .shp
文件中收集信息感兴趣。
特别是折线要素类的.shp
文件。
当我打开要素类的.dbf
时,我得到了我期望的结果:一个可以在Excel中打开并包含要素类表中信息的表。
然而,当我尝试在任何程序(excel,textpad等等)中打开.shp
文件时,我得到的是一堆乱码且不寻常的ASCII字符。
我想使用Python(2.x)来解释这个文件并从中获取信息(在这种情况下是折线的顶点)。
我不想使用任何模块或非内置工具,因为我真的对这个过程如何工作感兴趣,而且我不想要任何依赖。
感谢您提供正确方向的任何提示或要点!
答案 0 :(得分:3)
你的问题基本上是“我有一个文件,里面装满了以任意二进制格式存储的数据。我怎样才能用python来读取这样的文件?”
答案是,this link包含文件格式的描述。根据技术规范编写解剖器。
答案 1 :(得分:1)
如果你不想解决编写解析器的麻烦,你应该看看pyshp,一个纯Python shapefile库。我已经使用它几个月了,并且发现它很容易使用。
如果你在网上搜索,还有一个python绑定到shapelib。但我发现纯Python解决方案更易于破解。
答案 2 :(得分:0)
可能是一个很长的镜头,但你应该检查ctypes,并且可能使用程序附带的.dll文件(如果它甚至存在lol)可以读取该类型的文件。根据我的经验,当你开始挖掘.dll时,事情会变得奇怪。