geopandas 常用方法
# 读入文件,寻找地理位置坐标集
import geopandas as gpd
fp = "./data/TM_WORLD_BORDERS-0.3.shp" # 地理坐标文件地址
data = gpd.read_file(fp) # 读取文件
# data.plot() # 根据地理坐标绘制地图
# data.loc[(data['name']=='Italy') | (data['name']=='France')].plot()
# data.loc[data['name']=='Italy'].plot() # 绘图
# plg=data.loc[data['name']=='United of State']['geometry']
# dt=plg[107]
# dt=plg.iloc[0]
# 获取多边形坐标集合方法
def plg_to_coords(multipolygon):
'''
多边形转坐标
'''
ll=[]
for p in multipolygon:
ll+=p.exterior.coords[:]
return np.array(ll)
# 点(points)和多边形(polygon)之间的关系,参考Shapely库
直接加载Polygon字符串方法:
from shapely.geometry.multipolygon import MultiPolygon
from shapely import wkt
p = wkt.loads(u'POLYGON((0 0,0 1,1 1,0 0))')
m = MultiPolygon([p])
print(m.wkt)
# prints 'MULTIPOLYGON (((0 0, 0 1, 1 1, 0 0)))'
参考文献:
geopandas:https://geopandas.org/
Shapely:https://shapely.readthedocs.io/en/latest/manual.html