一步:安裝pyecharts
pyecharts是一款將python與echarts結合的強大的數據可視化工具,本文使用了0.1.9.4版本
pip install pyecharts==0.1.9.4
第二步:讀取數據
我的數據是在Excel表格里,如下圖:
Execel數據
使用xlrd(沒有就通過pip install xlrd安裝)讀取Excel表格中的數據
from pyecharts import Map
import xlrd
# 第一種方式,使用xlrd讀取Execel表格中數據
data = xlrd.open_workbook('data.xlsx')
table = data.sheet_by_name('Sheet1')
province = table.col_values(0)[1:]
num = table.col_values(1)[1:]
如果各位沒有相應的Execel文件,也不想新建一個,那就干脆自己定義一個字典,其中鍵是省份,值是對應的數量,然后再把對應的值取出來
# 第二種方式,直接自己寫一個字典,然后取出相應數據
province_distribution = {'四川': 239.0, '浙江': 231.0, '福建': 203.0, '江蘇': 185.0, '湖南': 152.0, '山東': 131.0, '安徽': 100.0, '廣東': 89.0, '河北': 87.0, '湖北': 84.0, '吉林': 75.0,
'上海': 70.0, '江西': 64.0, '廣西': 64.0, '貴州': 64.0, '北京': 63.0, '云南': 53.0, '重慶': 49.0, '河南': 48.0, '陜西': 38.0, '山西': 37.0, '遼寧': 33.0, '新疆': 25.0,
'內蒙古': 23.0, '黑龍江': 20.0, '天津': 19.0, '甘肅': 13.0, '海南': 9.0, '青海': 7.0, '寧夏': 4.0, '西藏': 0.0}
provice = list(province_distribution.keys())
num = list(province_distribution.values())
第三步:畫圖
chinaMap = Map(width=1200, height=600)
chinaMap.add(name="分布數量",
attr=province,
value=num,
visual_range=[0, 239],
maptype='china',
is_visualmap=True)
chinaMap.render(path="中國地圖.html")
這時候就會生成一個名稱為“中國地圖.html”的文件,打開后如下圖所示:
無省份名稱地圖
如果想保存為圖片,可以點擊地圖右側的下載按鈕,因為隔著比較遠,我在錄屏的時候并沒有把下載按鈕錄進來,但大家在自己電腦上肯定會看見的。
第四步:進一步優化
大家可以看到上圖中各省份的名稱只有在被鼠標選中的情況下,才能顯示,并且所保存的圖片也不會顯示各省份名稱,如果要顯示各省份名稱,則需要對html文件就行修改,推薦使用notepad++(一個文本編輯軟件,直接去百度上下載,很簡單的)打開“中國地圖.html”文件,然后在第1923行的那個series中添加"label":{ "normal":{ "show":true}},并保存,如下:
修改html文件
然后再打開“中國地圖.html”文件,就可以看到各省份的名稱啦,如下圖:
有省份名稱地圖
你以為你真的掌握了嗎?請進傳送門:用Python畫江蘇省地圖,實現各地級市數據可視化
關注微信公眾號“Python小鎮”,發現更多干貨知識!
024 年,巴西南部的大洪水造成了重大損失,特別是在南里奧格蘭德州。在美國國家航空航天局(NASA)和其他科學來源的數據支持下,顯示洪水深度的地圖對于救災和經濟損失評估至關重要。
該地圖顯示了 2024 年 5 月 6 日巴西阿雷格里港以西地區洪水深度的估計值。
2024 年 4 月下旬開始,暴風雨襲擊了巴西南部,造成了致命的破壞性洪災,并一直持續到 5 月份的大部分時間。臨近月底,南里奧格蘭德州的部分地區仍被洪水淹沒,受災范圍越來越明顯。
洪水范圍地圖是評估洪水事件的一種方法。但有關洪水深度的信息也很有用,可能有助于救援和救災行動,為有關道路關閉和交通便利性的決策提供信息,并有助于對損失和洪水風險進行分析。
該地圖顯示了 2024 年 5 月 6 日該州首府阿雷格里港以西地區的洪水深度估計值。最深的藍色區域是當天洪水至少有 5 米深的地方。但大部分被淹沒的洪泛區為淺藍色,相當于 0.1 至 1 米(4 至 40 英寸)深。
美國國家航空航天局(NASA)噴氣推進實驗室(JPL)研究員、OPERA(面向終端用戶的遙感分析觀測產品)項目科學小組成員Dinuke Munasinghe說:"這對住房和人們的生計造成的損失仍然很大。"
據聯邦緊急事務管理局估計,即使是 1 英寸的洪水也會給房屋造成數萬美元的損失。
該地圖的估算值來自洪水深度估算工具(FwDET)。這些估計值為過去的事件提供了重要信息,例如 2020 年襲擊密歇根州中部的大范圍洪水。在過去的颶風季節,它們也被用于實際操作。該工具依靠洪水范圍數據和地面地形數據來模擬洪水深度。
該地圖的洪水范圍數據來自 OPERA Harmonized Landsat Sentinel-2 (OPERA DSWx-HLS)產品,地面地形數據來自航天飛機雷達地形圖任務 (SRTM)。
美國國家航空航天局地球應用科學災害計劃 領域的開放式地圖門戶網站提供了此次事件的洪水地圖,該門戶網站已啟動,以支持合作伙伴應對此次事件。
美國宇航局地球觀測站洪水深度圖,作者 Lauren Dauphin,使用 Dinuke Munasinghe/NASA/JPL-Caltech 處理和提供的 FwDET 數據。FwDET 的主要輸入包括 Alexander Handwerger/NASA/JPL-Caltech 提供的 ARIA/OPERA DSWx-HLS 數據產品。FwDET 的開發工作由阿拉巴馬大學的 Sagy Cohen 領導。
了解更多:
https://maps.disasters.nasa.gov/arcgis/home/webmap/viewer.html?layers=53dd7e74942c43f28b38878c42dcf1da
編譯來源:ScitechDaily
我們之前為大家分享過在三維地球開源平臺離線加載衛星影像的方法,主要包括基于桌面端的OsgEarth開源三維地球和基于Web端的Cesium開源三維地球等平臺的局域網離線加載。
另外,也為大家分享過在二維開源平臺離線加載衛星影像的方法,主要包括基于OpenLayers的內網WebGIS離線部署和基于MapBox的內網WebGIS離線部署等具體操作方法。
今天,我們再為大家分享如何基于GoogleMap離線API在內網中加載衛星地圖的方法。
在開始之前,需要先準備離線數據發布軟件、離線衛星影像示例數據、GoogleMap離線API開發源碼和本機IP地址等。
地圖發布軟件:需要在內網發布離線衛星影像,請確保地圖發布服務中間件版本為4.0.6以上,如果低于該版本,請通過私信回復"中間件"免費獲取最新版本安裝包,也可以直接在水經注官方網站下載。
離線示例數據:本文提供的離線示例數據包括墨卡托投影和WGS84投影的衛星影像與地名標簽數據,由于這里主要是為了進行功能性演示,因此只提示前10級影像數據。
衛星影像示例數據
通過私信回復并回復"示例數據"即可獲取示例數據。
GoogleMap離線API源碼:GoogleMap離線API與OpenLayers和MapBox不同,谷歌官方網站并未提供可以直接下載的GoogleMap源碼開發工具包。
因此,這里提供的GoogleMapAPI開發工具包源碼文件,是通過技術人員從官方網站分析下載的。
現在,你只需要請通過私信回復并回復"GoogleMapAPI"即可獲取GoogleMap的離線API源碼文件。
本機IP地址:由于會用到本機IP作為訪問地址,可以通過在DOS窗口中運行"IPConfig"命令或其它方式獲取本機IP地址以備用,如下圖所示。
獲取本機IP地址
軟件的安裝與離線衛星影像的發布方法,請參閱"全球衛星影像離線發布神器《水經注地圖發布服務中間件4.0》正式發布"一文。
由于GoogleMapAPI是二維應用,因此這里不需要發布高程DEM數據。
但需要注意的是發布的衛星影像和設置的投影務必要保證統一,且端口號沒有被其它程序占用,如下圖所示。
安裝配置
安裝完成后,會顯示如下圖所示信息。
安裝完成
打開Windows任務管理器,如果WeServer服務的狀態顯示"正在運行",則說明中間件服務安裝成功并已經正常運行,如下圖所示。
服務運行正常
確保服務運行正確后,可以在瀏覽器中打開"Z=7/Y=48/X=105"的標簽瓦片地址檢驗發布成果,示例地址如下所示:
http://192.168.0.10:8519/WeServer/wmts/1.0.0/acimage/default/mercator/7/48/105.jpg
注:上述URL地址中的IP和端口號需要與WeServer中的配置保持一致。
如果無異常,則將會顯示北京位置北京區域的衛星影像瓦片,如下圖所示。
衛星影像瓦片
同樣地,也可以通過在本機瀏覽器中打開"Z=7/Y=48/X=105"的地名標簽瓦片地址檢驗發布成果,示例地址如下所示:
http://192.168.0.10:8519/WeServer/wmts/1.0.0/aclabel/default/mercator/7/48/105.png
注:上述URL地址中的IP和端口號需要與WeServer中的配置保持一致。
如果無異常,則將會顯示地名標簽結果,如下圖所示。
地名標簽瓦片
在微圖中打開瓦片網格顯示功能,我們可以看到上文中的瓦片"Z=7/Y=48/X=105",在微圖中對應的是"Z=8/X=49/Y=106"瓦片。
也就是說,微圖軟件中的瓦片編號是從1開始的,因此行列號都會比WeServer大1,且它的編號顯示順序為ZXY,而WeServer發布時的順序為ZYX,如果你了解它們的區別,會有助于你在調用WeServer發布的瓦片時進行調試。
微圖中的瓦片編號
上文已經說明了如何通過WeServer在內網發布離線的衛星影像與檢測發布結果的方法,現在我們來講一下部署GoogleMap離線API源碼的方法。
如果你還沒有獲取到GoogleMap離線API源碼,只需要請通過私信回復回復"GoogleMapAPI"即可獲取GoogleMap的離線API源碼文件。
GoogleMap源碼解壓之后,如下圖所示。
GoogleMap離線API源碼目錄
在源碼文件中,需要將"GoogleMapSample.html"文件中的IP地址與端口號修改為本機的IP地址和在WeServer中發布離線衛星影像時設置的端口號,如下圖所示。
修改IP與端口號
接下來,需要通過IIS將GoogleMap離線API源碼發布成一個網站。
在Windows控制面板中打開"管理工具",如下圖所示。
管理工具
打開IIS網站管理器,如下圖所示。
打開IIS
在"網站"樹節點單擊鼠標右鍵,然后選擇"添加網站"菜單,如下圖所示。
添加網站
網站名稱可以任意取,這里我們取名為"GoogleMap",物理路徑為GoogleMap離線API源碼所在路徑,并將端口號設置為默認值"80",如下圖所示。
配置網站參數
配置完成之后點擊"確定"按鈕之后完成網站配置,如下圖所示。
完成配置
現在,只需要在瀏覽器中訪問發布后的網站頁面,就可以離線瀏覽衛星影像了,網址如下所示:
http://192.168.0.10/GoogleMapSample.html
注:需要將上述地址中的IP修改為本機IP,如果發布網站時不是80端口,則還需要加上端口號。
如果一切正常,則可以看到局域網內離線發布的衛星影像地圖,如下圖所示。
離線影像加載效果
至此,一個基于 GoogleMap 離線 API 源碼在內網中加載衛星地圖的WebGIS基礎系統完成了,你可以根據自己的需求再進行二次開發,添加自己的業務功能。
GoogleMap的功能非常多,我們可以通過以下網址打開官方網站進行查閱。
https://developers.google.cn/maps/documentation
在打開的頁面中點擊"Maps JavaScript API",可以查閱相關的API文檔,如下圖所示。
GoogleMap官方文檔
官網網站提供了很多樣例與API詳細文檔,如下圖所示。
GoogleMap官方API
作為一名開發人員,查詢英文文檔應該是基本功,但如果覺得純英文有點費勁的話,可以通過Google瀏覽打開,然后點擊"中文(簡體)"將頁面內容自動翻譯成中文,如下圖所示。
查閱中文文檔
以上就是基于 GoogleMap 離線 API 源碼在內網中加載衛星地圖的全部說明,包括了離線衛星影像的內網發布、Google離線API源碼的發布以及幫助文檔的查閱等內容。
最后再次申明,由于本文中提供的數據為示例數據,旨在說明地圖發布服務中間件的內網離線發布功能,因此衛星影像數據和地名標簽都僅僅提供全球前10級數據。
你可以請通過私信回復回復"免費數據",領取一個省的高清衛星影像數據,然后更新到對應的數據目錄即可!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。