温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中怎么插一个基础的地图分析类库

发布时间:2021-11-30 15:22:06 来源:亿速云 阅读:204 作者:iii 栏目:大数据

本篇内容主要讲解“python中怎么插一个基础的地图分析类库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中怎么插一个基础的地图分析类库”吧!

python中最常用的类库可以使用mpl_toolkits.basemap中的Basemap,数据是北京的空气质量历史数据,要使用现有的矢量数据,在地图上画一个北京政区图。

矢量数据用shp或者geojson格式都可以,为了减少数据文件数量,转了一个geojson数据,通过fiona进行数据读取,引用fiona的类库,读取geojson数据,可以参见python开发:特征数据处理。

import fiona
shpdata = fiona.open(path, 'r')

引用Basemap的类库,循环遍历geojson的数据,在地图上进行数据的绘制,数据根据其中的情况,获得坐标信息,使用plot函数进行地图的绘制线操作,设置线的颜色和宽度等属性,使用的数据是polygon类型,要把其中的每条线都遍历画出来。

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap as Basemap
fig, ax = plt.subplots()
m = Basemap(epsg=4326, resolution='l', llcrnrlat=bounds[1], urcrnrlat=bounds[3],
           llcrnrlon=bounds[0], urcrnrlon=bounds[2])
while True:
   try:
       evdata = shpdata.next()
       evshape = evdata['geometry']['coordinates']
for evls in evshape:
   xx, yy = zip(*evls)
   m.plot(xx, yy, linewidth=1, color='black')

有时需要在地图上画注记信息,就需要使用shapely计算一下区域的中心点,在地图上画注记。

from shapely.geometry import shape, point
ax.annotate(evdata['properties']['NAME99'], 
(X, Y), xytext=(-10, 5), textcoords='offset points')

效果图:

python中怎么插一个基础的地图分析类库

到此,相信大家对“python中怎么插一个基础的地图分析类库”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI