【发布时间】:2010-08-01 23:55:22
【问题描述】:
如何将形状文件 (GIS) 转换为文本?
或者,如何提取形状文件中的信息?
【问题讨论】:
如何将形状文件 (GIS) 转换为文本?
或者,如何提取形状文件中的信息?
【问题讨论】:
如果您愿意编写一些代码(而且您可能无论如何都需要编写代码,因为 shapefile 中有很多信息,对于任何给定的应用程序而言,这些信息并不是全部),请查看shapelib。它与许多脚本语言绑定。它还构建了 dbfdump,这是一个可执行文件,用于转储 dbfiles 和转储 shp 文件的 shpdump。
如果您在 R 中编程,那么您还感兴趣的是 maptools 包。
【讨论】:
Mapwindow (http://mapwindow.org/) 是免费的、开源的,并且具有将 shp 转换为 csv 的功能。
它生成的 csv 文件有点奇怪,但你应该可以管理。
仅限 Windows。
【讨论】:
查看Gdal/ogr 绑定
【讨论】:
我编写了一个小应用程序,可以将您的 shapefile 转换为 KML。不完全是文本,而是人类可读和可跨地图应用程序共享。 http://www.reimers.dk/files/folders/google_maps/entry328.aspx
【讨论】:
尝试使用MyGeodata GIS Data Formats and Corrdinate systems Converter - online。它使用此处提到的 OGR 库,并允许将最常用的 GIS 格式转换为任何其他 GIS 格式 - 例如从 ESRI ShapeFile 转换为 GeoJSON、GML、CSV 或其他基于文本的格式。
【讨论】:
有一个网页可以查看内容: http://webprocessresults.com/pgsActv/ShpDump.aspx
同一站点提供免费的桌面(Windows)版本: http://webprocessresults.com/svcs/FreeStuff/FreeStuff.aspx
【讨论】:
如果您使用的是 arcGIS,并且 shapefile 由多个文件组成,您可以尝试在 excel 中打开 .dbf 文件并将其保存为另一种格式(例如 csv)- 我已经这样做了很多次,但还没有有任何不良影响,它是一种非常快速和简单的方法,可以转换您的 shapefile 或进行任何重大编辑,保存为 csv,然后将它们重新导入 GIS 以保存为新的 shapefile。我会说这是一个不优雅的解决方案;)
【讨论】:
您可以在此处找到详细说明的大部分 shp(形状文件)格式: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。
对于打开的 dbf 文件,建议使用 LibreOffice Calc
【讨论】:
如果你真的只需要 shapefile 中的内容,那么寻找 .dbf 文件会给你一个更好的视图。您可以使用任何 excel 查看器直接打开“.dbf”文件以查找 shapefile 中的内容。
【讨论】: