我如何将一个shapefile (GIS) 转换成文本文件?
或者说,我如何提取一个shapefile中的信息?
Mapwindow(http://mapwindow.org/)是一个免费、开源的软件,具有将shp文件转换为csv文件的功能。
它生成的csv文件有点奇怪,但你应该能够处理好。
仅适用于Windows操作系统。
如果您使用R编程,则maptools包也很有趣。
如果您只需要shapefile中的内容,那么查找.dbf文件会给您更好的视图。您可以使用任何Excel查看器直接打开“.dbf”文件以查找shapefile中的内容。
您可以在此处找到大部分shp(Shape File)格式的详细信息:http://en.wikipedia.org/wiki/Shapefile。完整规范在此处:http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf。
shp
文件格式非常简单,但请注意长度字段是16位字而不是8位字。如果忘记了这一点,当尝试解析记录时,您将花费一些时间进行调试。
dbf
通常包含与每个形状相关的信息。您也可以解析 dbf
文件,但是您将不得不自己编写读取器。我以前做过这件事,但最简单的方法可能是将 dbf
加载到某个电子表格应用程序中,然后将其另存为 csv
文件,然后再加载它。此外,如果我记得正确,您必须小心,因为一些详细说明 dbf
的网站可能有点错误。这与某个版本有关,其中一些字段略有不同。因此,如果您正在自己编写并且遇到困难,请注意您可能正在正确阅读它,但它与您使用的规范不同。我认为解决方案是返回 Google 并搜索一些不同的文档,最终详细说明了我正在阅读的版本。
shp
和 dbf
是通过记录索引链接的。 shp
中的第一条记录与 dbf
中的第一条记录相对应,依此类推。
您可以相对容易地找到dbf
的格式规范,例如在这里:http://www.clicketyclick.dk/databases/xbase/format/index.html。如果您愿意自己动手,这不会是一个太大的项目。
无论如何,无论您选择为dbf
或shp
编写自己的读取器,都需要注意字段,因为有些是大端字节序,而其他一些是小端字节序。我认为这仅适用于shp
文件。
您可以打开dbf文件并将其内容复制到另一种格式,例如odt或XLSX。
建议使用LibreOffice Calc来打开dbf文件。