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:\Users\12345\anaconda3\lib\site-packages\pip (python 3.7)
sys.version: 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
sys.executable: C:\Users\12345\anaconda3\python.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:\Users\12345\anaconda3\lib\site-packages\pip\_vendor\certifi\cacert.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:\Users\12345\anaconda3\Lib\site-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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章