windows下python安装basemap,画世界地图以及根据经纬度标点

您所在的位置:网站首页 python安装basemap windows下python安装basemap,画世界地图以及根据经纬度标点

windows下python安装basemap,画世界地图以及根据经纬度标点

2023-09-12 11:09| 来源: 网络整理| 查看: 265

环境安装

1、确定自己的python环境安装完毕且已配置好环境变量

2、安装geos:pip install geos

3、直接使用pip3 install pyproj 可能会安装错误,所以需要自己去下载.whl文件网址https://www.lfd.uci.edu/~gohlke/pythonlibs/ (可以直接ctrl+f搜索) 依次下载: (1)pyproj-版本号- (2)basemap-版本号- (一定要特别注意自己的是什么位计算机,什么版本的python,我第一次就是下了3.9的python文件,然后安装出错)

4、接下来就将下载好的.whl文件放到python安装目录下的scripts文件夹下(两个都是) 在这里插入图片描述

5、打开cmd进入python安装目录的script文件夹下,然后开始安装 先安装pyproj: pip3 install 文件名 再安装basemap pip3 install 文件名

6、看到说successfully就安装成功了

使用basemap画世界地图 from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt fig = plt.figure(figsize=(12, 8), facecolor='cornsilk')#窗口大小 m = Basemap() # 初始化 map def drawMap(): #绘制地图 m.drawcoastlines() # 绘制海岸线 m.drawcountries() # 绘制国界线 # 填充陆地、胡泊、海洋的颜色 m.fillcontinents(color='darkolivegreen', # 陆地颜色 lake_color='aqua', # 湖泊颜色 ) m.drawmapboundary(fill_color='aqua') # 填充海洋 def set_lonlat(_m, lon_list, lat_list, lon_labels, lat_labels, lonlat_size): """ 为Basemap实例画带tick标的经纬度注释 自带画水平线和竖直线标注方式不带刻度标 当然函数仍调用了自带标注函数只是在此基础上加了tick标 :param _m: Basemap实例 :param lon_list: 经度 详见Basemap.drawmeridians函数介绍 :param lat_list: 纬度 同上 :param lon_labels: 标注位置 [左, 右, 上, 下] bool值 默认只标注左上待完善 可使用twinx和twiny实现 :param lat_labels: 同上 :param lonlat_size: 字体大小 :return: """ lon_dict = _m.drawmeridians(lon_list, labels=lon_labels, color='grey', fontsize=lonlat_size) lat_dict = _m.drawparallels(lat_list, labels=lat_labels, color='grey', fontsize=lonlat_size) lon_list = [] lat_list = [] for lon_key in lon_dict.keys(): try: lon_list.append(lon_dict[lon_key][1][0].get_position()[0]) except: continue for lat_key in lat_dict.keys(): try: lat_list.append(lat_dict[lat_key][1][0].get_position()[1]) except: continue ax = plt.gca() ax.xaxis.tick_top() ax.set_yticks(lat_list) ax.set_xticks(lon_list) ax.tick_params(labelcolor='none') drawMap() set_lonlat(m, range(0, 360, 30), range(-90, 90, 30), [0, 0, 1, 0], [1, 0, 0, 0], 12) #你也可以根据经纬度标注点 m.plot(54.23, 65.16, marker='o', color="r") plt.show()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3