将shape文件(GIS)转换为文本。

4

我如何将一个shapefile (GIS) 转换成文本文件?
或者说,我如何提取一个shapefile中的信息?

10个回答

2

Mapwindow(http://mapwindow.org/)是一个免费、开源的软件,具有将shp文件转换为csv文件的功能。

它生成的csv文件有点奇怪,但你应该能够处理好。

仅适用于Windows操作系统。


我没有找到将文件转换为CSV的选项,但是我使用了Shape2Earth插件并将其转换为KML。 - JuanPablo

2
如果您愿意编写一些代码(因为shapefile中有相当多的信息,并非所有信息都适用于任何给定的应用程序),请查看shapelib。它具有许多脚本语言的绑定。它还构建了dbfdump,这是一个可执行文件,用于转储dbffiles和shpdump,它会转储shp文件。

如果您使用R编程,则maptools包也很有趣。


1

1

1
尝试使用{{link1:MyGeodata GIS数据格式和坐标系统转换器-在线}}。 它使用此处提到的OGR库,并允许将最常用的GIS格式转换为任何其他GIS格式-例如,对于您从ESRI ShapeFile到GeoJSON、GML、CSV或其他基于文本的格式。

0

如果您只需要shapefile中的内容,那么查找.dbf文件会给您更好的视图。您可以使用任何Excel查看器直接打开“.dbf”文件以查找shapefile中的内容。


0

您可以在此处找到大部分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 并搜索一些不同的文档,最终详细说明了我正在阅读的版本。

shpdbf 是通过记录索引链接的。 shp 中的第一条记录与 dbf 中的第一条记录相对应,依此类推。

您可以相对容易地找到dbf的格式规范,例如在这里:http://www.clicketyclick.dk/databases/xbase/format/index.html。如果您愿意自己动手,这不会是一个太大的项目。

无论如何,无论您选择为dbfshp编写自己的读取器,都需要注意字段,因为有些是大端字节序,而其他一些是小端字节序。我认为这仅适用于shp文件。


0

您可以打开dbf文件并将其内容复制到另一种格式,例如odt或XLSX。

建议使用LibreOffice Calc来打开dbf文件。


0
如果您正在使用arcGIS,而且shapefile由多个文件组成,您可以尝试在Excel中打开.dbf文件并将其另存为其他格式(例如csv)。我已经这样做了很多次,没有遇到任何不良影响,这是一种相当快速和简便的方法,可以将您的shapefiles转换或进行任何重大编辑,然后将其保存为csv,再重新导入到GIS中以保存为新的shapefile。不过,我必须说,这并不是一个优雅的解决方案 ;)

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接