如何将shapefile(GIS)转换为文本,或者如何将信息提取到shapefile中?

评论

这个问题是超级用户的话题,但是您可能会在gis.stackexchange.com上获得更详细,准确的答复。您无需再次询问您的问题;如果您希望迁移,请标记为主持人,他们可以为您移动。无论哪种方式,如果您需要更具体的帮助,都可以使用有关所使用的GIS软件的更多详细信息来更新您的问题,这可能会有所帮助。祝你好运解决您的问题!

这与gis.stackexchange.com/questions/7339/shapefiles-to-text完全相同:答案已​​经存在。它们还出现在gis.stackexchange.com/questions/5962/…和gis.stackexchange.com/questions/6806/…上。

@whuber,很抱歉提出一个重复的问题,但是其他答案都没有提到pyshp(据我所知),这是我最终使用的,所以从某种程度上来说,我很高兴地问到了。

剩下2票可关闭副本

@instance很高兴为您解决了问题。获得答案的一种更好的方法(以及获得更好的答案的一种方法)是确认先前的线索并指出为什么现有的答案可能不足以满足您的情况。例如,您可能已经指定要寻找Python解决方案。

#1 楼

您可以将GDAL / OGR与ogr2ogr命令一起使用,并导出到一个csv文件中,例如:

$ ogr2ogr -f CSV output.csv myshape.shp -lco GEOMETRY=AS_WKT


请注意,您可以将几何图形序列化为多种格式( WKT,XY,XYZ)。
请参考官方文档,对此有很好的解释。

评论


该链接现已消失

– 8bitjunkie
15年11月16日在16:02

gdal.org/ogr2ogr.html

– jsta
16年1月29日在16:00

ogr csv驱动程序文档链接已更新

– capooti
16年1月29日在19:23

myshape.shx文件必须存在于同一目录中才能转换myshape.shp

–tee
16年2月1日在18:01

#2 楼

使用QGIS,您可以打开Shapefile并将其导出为CSV,也可以仅将选定的要素从地图窗口复制粘贴到文本编辑器中。您将获得几何图形和所有属性值的WKT。

#3 楼

如果您想编写一些Python,可以使用pyshp读取所有shapefile,并输出点的X / Y或线/多边形的顶点。应该只需要很少的代码即可开始工作。

站点上的一些示例代码:

import shapefile
sf = shapefile.Reader("shapefiles/blockgroups")
shapes = sf.shapes()


形状将包含一系列形状

points = shapes[0].points


点将包含索引0处形状的所有点。

评论


麻烦尝试一下,谢谢。 pyshp中是否有任何东西可以让我重新投影shapefile,以便X / Y为纬度/经度?

–Tom的实例
2011年4月1日19:29

没关系,我的以前的评论,数据已经存储在纬度/经度中

–Tom的实例
2011年4月1日19:44

真好!我以前从未听说过pyshp-几个月前就可以使用它。

–蒂莫西·迈克尔(Timothy Michael)
2011年4月1日在20:13

#4 楼

如果您拥有ArcGIS 9.x,则可以使用位于以下位置的ArcToolbox提供的即用型脚本,位于ArcGIS安装位置下:

Toolboxes\Samples\Data Management\Features\Write Features To Text File

如果需要进一步的格式设置文本文件,然后使用Python脚本就可以了。

还有一个ArcGIS Idea,名为“生成和取消生成ASCII的所有矢量要素类,可以使用您的投票,并且该评论已发表:


我刚刚在
http://forums.arcgis.com/threads/57600-Where-is-the-Generate-tool上找到了-in-ArcGIS-10?p = 199524#post199524
已弃用的示例工具中已经有等效的工具
(请参见
http://help.arcgis .com / zh-CN / arcgisdesktop / 10.0 / help / index.html#/ An_overview_of_the_Samples_toolbox / 00pv00000003000000 /)。
它们的名称是从文本文件创建要素,并从功能创建文本文件



评论


Just和FYI,但这确实会写出要素顶点以指向文本文件,但如果您要查找的是,它不会将数据写为OGC兼容的熟知文本(WKT)。

– RyanKDalton
13年4月22日在19:20

我修复了几个错误,并将9.x开发人员示例WriteFeaturesFromTextFile更新为10.x,可从github.com/maphew/arcplus/blob/master/ArcToolbox/Scripts/中获取…

–马特·威尔基
15年2月16日在19:40

#5 楼

形状文件图由几何(.shp),空间索引(.shx),属性表(.dbf)和投影元数据文件(.prj)组成。您可以用OGC简单功能SQL样式表示的几何形状,但不会走远。您可以使用Openoffice或Excel打开属性文件,然后对其进行查看或导出为另一种格式。

#6 楼

实用程序ogrinfo应该能够做到这一点。我从未尝试过使用shapefile,但对于其他GIS格式,它对我来说效果很好。尝试这样的操作:

ogrinfo -al myshapefile.shp


在Windows上,您可以通过安装FWtools轻松获得ogrinfo的编译版本。

#7 楼

shapefile往往带有几个带有不同扩展名的“伴侣”文件。如果只想提取属性,那么复制.dbf文件的内容就足够了。但是,如果要恢复空间信息,则需要先将XY坐标添加到属性表中(例如ArcMap中的AddXY函数),然后导出属性表。

#8 楼

使用OrbisGIS,您可以打开shapefile并将其内容导出为CSV文件。您将检索一组行,每行包含shapefile中存在的一条记录。您的几何图形将与已知文字(WKT)值一起存储

#9 楼

只需在Windows资源管理器而不是ArcCatalog中查看带有shapefile的文件夹,您就会看到shapefile实际上是几个文件。我想您要在文本文件中找到的属性信息在.dbf中,只需在Excel,Access,Open Office等中打开它,然后按需要保存即可。

#10 楼

将它们加载到PostGIS。

查询类似以下内容的文件:

Select st_x(the_geom) as Xcoord, st_y(the_geom) as Ycoord, attr1, attr2 from table1;


您可以将查询直接从pgadmin输出到csv。

如果几何图形是线串或多边形,并且想要所有顶点,请执行相同操作,但使用st_dumppoints拆分为点。

/尼克斯

#11 楼

整个网站上似乎都存在一些问题。我刚刚在另一个位置发布了答案。请参见如何获取所有定义shapefile的经/纬度坐标

#12 楼

如果要在地图上绘制,可以将形状文件转换为WKT(众所周知的文本)格式,然后可以将其存储到DB中或随形状文件一起随意使用