basemap的安装(附网盘链接分享)

查看所需版本

首先打开cmd,输入以下命令:
python -m pip debug --verbose
得到的结果如下:

WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.
pip version: pip 20.0.2 from C:Users12345anaconda3libsite-packagespip (python 3.7)
sys.version: 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
sys.executable: C:Users12345anaconda3python.exe
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: cp936
sys.platform: win32
sys.implementation:
  name: cpython
'cert' config value: Not specified
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): C:Users12345anaconda3libsite-packagespip\_vendorcertificacert.pem
Compatible tags: 27
  cp37-cp37m-win_amd64
  cp37-abi3-win_amd64
  cp37-none-win_amd64
  cp36-abi3-win_amd64
  cp35-abi3-win_amd64
  cp34-abi3-win_amd64
  cp33-abi3-win_amd64
  cp32-abi3-win_amd64
  py37-none-win_amd64
  py3-none-win_amd64
  py36-none-win_amd64
  py35-none-win_amd64
  py34-none-win_amd64
  py33-none-win_amd64
  py32-none-win_amd64
  py31-none-win_amd64
  py30-none-win_amd64
  cp37-none-any
  py37-none-any
  py3-none-any
  py36-none-any
  py35-none-any
  py34-none-any
  py33-none-any
  py32-none-any
  py31-none-any
  py30-none-any

从中可以看出,我们需要的是Python3.7对应的basemap
官网地址为:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
可以通过Ctrl+F,搜索页面中的basemap,找到对应的版本,Python3.7对应的是cp37,然后通过python -m pip debug --verbose命令得知,应该下载cp37-cp37m-win_amd64版本

另外,同样的方法,搜索pyproj,

下载所需的文件

需要下载的两个东西分别是basemap‑1.2.2‑cp37‑cp37m‑win_amd64.whlpyproj‑2.6.1.post1‑cp37‑cp37m‑win_amd64.whl
反正我通过官网是下载不了的,

历经千辛万苦,我找到了Python3.7和Python3.9版本对应的两个文件
还有一个Python3.6的,不过对应的basemap的版本不是最新版的,可能用不了
链接:https://pan.baidu.com/s/1PwBI-Zcf33Xk3rZUMwy45Q
提取码:cyx6

安装

我建议将这两个文件和其他Python库放在一起,比如我把它拷贝到C:Users12345anaconda3Libsite-packages目录下,当然这不是必要的。
你可以在cmd中通过cd命令进入这两个文件所在的路径,也可以直接在那个文件夹的左上方输入cmd

然后依次输入以下指令
pip install pyproj-2.4.2.post1-cp37-cp37m-win_amd64.whl

pip install basemap-1.2.2-cp37-cp37m-win_amd64.whl

测试

安装完成后,打开pycharm
创建一个test.py文件
测试代码:
例1

# 首先导入basemap和matplotlib两个包,两者都是必要的。
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
# 新建第一个地图
map = Basemap()
# 在使用 Basemap 类创建地图时具有许多选项。
# 在没有传递任何选项的 情况下,地图具有以经度 =0 和纬度 = 0 为中心的 Plate Carrée 投影(等距圆柱投影)。

# 绘制海岸线
map.drawcoastlines()
# 如果使用单独的python程序(.py文件),需要下面这句话才能看到图
plt.show()


例2

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

#运用 Basemap 函数我们可以在绘图区域中绘制地理信息相关的图像,当参数 projection 的值为 'ortho' #时,我们将得到一个如下所示的地球仪截面:

plt.figure(figsize=(8, 8))
m = Basemap(projection='ortho', resolution=None, lat_0=50, lon_0=-100)
m.bluemarble(scale=0.5)

plt.show()


例3

# 将参数 projection 的值设置为 'lcc' 时,我们可以通过经纬度设置来得到某一区域的局部地图:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

fig = plt.figure(figsize=(8, 8))
m = Basemap(projection='lcc', resolution=None,
width=8E6, height=8E6,
lat_0=45, lon_0=-100,)
m.etopo(scale=0.5, alpha=0.5)

# 将经纬度映射为 (x, y) 坐标,用于绘制图像
x, y = m(-122.3, 47.6)
plt.plot(x, y, 'ok', markersize=5)
plt.text(x, y, ' Seattle', fontsize=12)
plt.show()

原文地址:https://www.cnblogs.com/cyx-b/p/13824001.html