geopandas使用注意事项

geopandas是一个python地理工具包,需要先安装shapely才能使用(geopandas中的点、线、多边形类都继承自Shapely)能够从.shp文件中读取到坐标点信息,返回DataFrame形式的数据。


1 读取shp文件

import geopandas as gp
df = gp.GeoDataFrame.from_file('../test.shp',encoding='gb18030')

我遇到的shp文件基本都用的国标编码
如果文件夹中只有一个shp文件,则geopandas返回的DataFrame也只有Id和geometry两列,要获取关于每个区域的信息,比如名称、面积之类的数据,需要将所有的GIS文件放在一个文件夹中

2 提取坐标值

在shp文件中最常见的是Point()类、Polygon()类和MultiPolygon()类,关于这些类的具体使用请参考Shapely官方文档
提取坐标的方式分别为:

#Point()
p.coords[:]
#Polygon()
p.exterior.coords
#MultiPolygon()
[p.exterior.coords for p in multip]

可以将MultiPolygon看成是Polygon的列表。

tips:
多边形数据往往会有很多很多点,如果你想我一样需要将shp文件转成数据文件给同事使用,请不要使用excel,最好用csv、txt这种不限长度的文件。

如果存数据库的话,需要将COORDINATE(坐标)这一列设置为longtext,亲测text的长度不够用。

posted on 2017-12-29 09:06  dalalaa  阅读(2922)  评论(0)    收藏  举报

导航