python 地理库

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

原文地址:https://www.cnblogs.com/practitioners/p/13059994.html