ArcGIS Python API可視化及分析系列教程(一):入門與簡介(1)

2021-12-29 蝦神說D

蝦神自己熱烈祝賀一下蝦神開新坑……

蝦神2018年第一坑,開在了可視化上面,在2016年的時候,蝦神完成了一套leaflet for R的系列教程,受到了很多同學的點讚,還有同學問,蝦神你能不能寫寫Python的啊?我們畢竟用Python多啊……所以這次專門開了Python的web可視化教程,只不過可能有一點會讓有些同學覺得不爽的是,用的是ArcGIS Python API。

其實以前也寫過幾篇有關ArcGIS Python API的文章,大家可以訪問下面的地址:

如:

    ArcGIS Python API 與R語言混合編程實現分析可視化(一)


作為Esri旗下的一款強大的API工具,ArcGIS Python API也是開源的,只不過裡面有不少Esri公司的小花招,讓大家都得依賴在ArcGIS產品的支持下而已。

整個系列的設計如下:


嗯,正如上面寫的。。。整個課程不包括Python的語法,這個是另外的內容了,

蝦神一直表示:Python最強大的地方就即學即用,隨便在網絡上看個三五十行代碼和教程就學會了,當然有同學會問:


蝦神的表態就是:小學生都要學Python了,你還有啥理由說這個東西太難?




第一節 主要做個簡單的介紹,首先是ArcGIS Python API是個神馬東東:




從這頁可以看出一些端倪:

首先是這個API主要還是依賴於ArcGIS Web系統的東西(外網依託於ArcGIS Online,內網依賴於Portal for ArcGIS),如果沒有ArcGIS產品,而且沒有外網的話,就沒法使用了。這個不像leaflet for R,不管有沒有網絡,不管有沒有伺服器,都能用,這算是一個劣勢。

其次它利用的是ArcGIS Rest API提供的web服務能力,所以實際上是一種Python調用rest服務來實現的,而交互的時候,需要利用ArcGIS JavaScript API,所以配置有時候也挺麻煩。

好吧,以上兩個問題就是ArcGIS Python API最大的劣勢,如果接受不了的話,就沒辦法了,但是如果能夠接受這兩個劣勢,你會發現,以後的全是優勢,使用起來各種心潮澎湃,特別是讓蝦神這種JavaScript盲擁有了Web的能力,就衝這個,視為神器,名至實歸!


啥叫神器:神器就像凹凸曼同學的燈一樣,不管對手有多強大,也不管凹凸曼被對手揍成了啥慫樣,只要這個燈一亮,所有對手的結局都一樣……

說了這麼多,這個神器主要拿來幹嘛呢?它能幹這些事情:

• 獲取在線(以及企業內部)地圖、數據、資源
• 地理編碼(全球英文,中國國內中文)
• 管理Portal 、Server& online中的企業級帳戶
• 空間可視化與屬性可視化
• 標準和擴展的空間分析
• 在web上進行資源發布&共享
• 更新數據
• GP調用和結果可視化


蝦神作為一個天天要用地圖的人來說,別說有這麼多功能,就衝著一個可視化,就有足夠的利用說服我將這個Python工具包作為必須打call的東東了。

下面給大家演示幾個功能:
首先是獲取在線數據,比如蝦神想獲取1997年-2007年十年中5.7級以上地震數據(當然,你可能還有其他的需求,可以繼續關注課程),那麼這個數據已經有人發布過了,我們僅需要獲取就行:


那麼在你的本地實現這個功能呢?Esri官方提供了一個在線雲服務使用ArcGIS Python API,使用方式如下:

1、在瀏覽器輸入地址:
https://notebooks.esri.com/

系統會自動給你建立一個服務,如下所示:


當然,Esri的伺服器在亞馬遜雲上面……國內因為GFW,所以連接速度可能有些(你懂的)……

2、點擊New——Python 3,新建一個自己的Notebook


輸入如下代碼,即可完成上面那幅圖:

from arcgis.gis import GIS

gis = GIS("https://www.arcgis.com", "arcgis_python", "P@ssword123")

mymap = gis.map()

mymap.basemap = "osm"

items = gis.content.search("Earthquakes*", item_type="feature Layer",outside_org=True, max_items=1)

mymap.add_layer(items[0])

mymap



最後那句是把點數據渲染成熱度圖。注意,不要放在一起,否則會覆蓋,在jupyter裡面,最好能夠每行腳本都分開編寫,這裡是為了節省,才寫成了一行,以後不再對這寫法進行強調。

是不是特別簡單?

然後看看另外一個功能,比如地理編碼:


代碼如下:

from arcgis.gis import GIS

import pandas as pd

from arcgis.geocoding import Geocoder, get_geocoders,geocode

gis = GIS("https://www.arcgis.com", "arcgis_python", "P@ssword123")

mymap = gis.map()

mymap.basemap = "osm"

mymap

results = geocode('北京市海澱區蓮花池西路國家測繪地理信息局')

pd.DataFrame(results)

for res in results:

    popup = { 

        "title" : res["attributes"]["Region"], 

        "content" :"address:"+res["address"]

        }

    mymap.draw(res,popup=popup)


(代碼在手機上不好看的話,可以查看原文,到我的博客裡面去看)
是不是特別嗨皮?很有點迫切想用的感覺?如何安裝這個神器呢?我們下節繼續,當然等不及的同學,可以自行查閱官方頁面,安裝步驟進行安裝:

https://developers.arcgis.com/python/guide/install-and-set-up/


待續未完。

相關焦點

  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    本課程為python教程大合集,包含python所有就業方向,每套課程均來自市面上主流培訓機構的原版教程,價值都在數百元以上 每套課程均包含:視頻課程+課件+原始碼 重要:建議根據自己工作方向和需求,重點選擇2到3套課程學精,吃透,然後在工作 重要:零基礎小白建議先選擇零基礎全能篇的一套課程學精
  • Python利用Django 構建Rest Api: 快速入門教程
    mkdir blog_apicd blog_apipython3 -m venv envsource env/bin/activate # On Windows use `env\Scripts\activate`pip install djangopip install djangorestframework
  • 入門Python, 看這些資料就夠了
    要入門Python,資料並非越多越好, 基本上看這些資料就夠了。 。目錄:第一部分: Python入門&進階教程第二部分: Python Web框架第三部分: Python擴展資料推薦的學習路徑: 1. 使用實驗樓的開箱即用環境快速刷完Python3簡明教程,django基礎教程;2.
  • 推薦: 一本「高顏值」的Python語言數據可視化圖書
    所以很有必要系統性地介紹python的繪圖語法系統,包括最基礎也最常用的matplotlib包、常用於統計分析的seaborn、最新出現類似R ggplot2語法的plotnine以及用於地理空間數據可視化的basemap包。在先介紹數據可視化基礎理論後,本書系統性地介紹了幾乎所有常見的二維和三維圖表的繪製方法,包括簡單的柱形圖系列、條形圖系列、折線圖系列,地圖系列等。
  • Python入門教程,全球百萬餘人學習零基礎視頻教程+書籍+文檔
    為什麼很多人在學Python1、python簡單易學python的優勢就是簡單,我所說的簡單,是相比於象C和C++這樣的語言,python語法簡潔,可閱讀性可維護性強,上手快,但是要寫好得需要多研究。二、微軟Python入門課課程簡介:這是微軟放出的一門免費的 Python 教程,名字叫 Python for Beginners,專為初學者打造,一共有 44 個視頻,每個視頻的時長大概在 2-6 分鐘之間,只有極少數的幾個時間在 10 分鐘以上。
  • 呆瓜半小時入門python數據分析_v2
    我在這裡教授新手如何半小時入門數據分析,為初學者入門節約時間,結構化,系統化了解數據分析工作。歡迎各位報名《呆瓜半小時入門python數據分析》 課程概述教會python小白快速學會python數據分析,數據可視化,覆蓋python基礎,pandas,seaborn,matplotlib,SQL,sqlite,
  • ArcGIS Pro系列課第6講《三維模型、OSGB、BIM數據的處理》
    主要方向為ArcGIS Pro製圖、網絡分析、三維數據的處理與分析。每節課程都將根據培訓內容進行系統講解,並配合Demo演示,幫助各位製圖工程師和愛好者能夠充分認識ArcGIS Pro,及其所具備的高級製圖能力、三維能力,學習如何管理海量影像數據,提升數據處理及分析能力,迅速完成從入門到操作小能手的轉變。
  • 【Python教程】用Python進行數據可視化
    簡介如同藝術家們用繪畫讓人們更貼切的感知世界,數據可視化也能讓人們更直觀的傳遞數據所要表達的信息。$ python --versionPython 3.6.9$ pip3 --versionpip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
  • Python入門教程小孩兒都能學會的零基礎Python學習教程
    Python入門教程 Python入門教程 這是我在自學路上,整理的不錯的Python自學資料。需要的小夥伴可以掃描下方二維碼: Python入門教程                 本學習路線共分為9個部分(如圖-1):Python語言基礎的學習,掌握python的核心語法;玩轉Linux作業系統,掌握如何使?雲伺服器和Linux作業系統;資料庫入門到實戰,掌握傳統的關係型資料庫以及新興的?關係型資料庫產品的使??法;輕鬆搞定web前端,掌握前端開發最核?
  • Python數據分析相關資料整理(博客&視頻連結)
    相關中文資源如下:1.python工作集成環境包 【漫畫】手把手教你如何安裝Pythonpycharm安裝以及簡單使用教程python新手傻瓜式開發環境Anaconda2.python數據分析相關庫(Pandas
  • MNE-Python的簡易中文教程簡單入門
    ,內容上算是對官網教程的一個翻譯加精簡。    MNE-Python是一個基於Python的用於探索、可視化與分析人腦神經生理數據的開源軟體,MNE-Python的代碼設計基於面向對象的編程思想,其具有高效(多核的CPU和GPU計算)、易用(代碼簡單並可進行可視化)且靈活(對各種數據的支持)三大特性。
  • 量化交易學習(1)- 如何用python調用CoinGecko Api
    hello,大家好,我是魚叔,在今年的年度報告裡,我提到想要在22年打造一個量化交易系統,因此會推出相關系列的偏技術文章「量化交易學習」 ,這類文章適合那些想要學習加密市場量化交易
  • 在知乎上學 Python - 爬蟲篇
    之前,為了讓大家能更好地挖掘知乎上有價值的信息,我們做了一個索引,把編程入門相關的一些問答和文章做了整理:在知乎上學 Python - 入門篇文中曾立下FLAG說之後會整理爬蟲、數據分析、機器學習等方面的索引,然而卻一拖再拖。好在現在,有同學幫我們做了後續整理,今天就把「爬蟲篇」分享給大家。
  • 書聲琅琅:好的Python入門教程
    好的Python入門教程,書聲琅琅教育番茄老師微信pykf20介紹,python語言現在應用非常廣泛,不管是大數據還是人工智慧,應用最多的語言還是python,因此對於許多小白來講,看到python從業者的高薪資,想要轉行,或者致力於python開發的朋友,如果要學習python,從零基礎開始,一定需要一套完整的學習路線。
  • python教程
    開發知識體系序號教程名稱400301-Python快速入門連結: 400402-Python初級課程連結:400503- Python 定向爬蟲入門400604-Linux從入門到精通400705-Linux從入門到精通400806-Python資料庫操作400907-Apache
  • PySAL:Python空間計量分析庫使用手冊(一)
    它支持空間分析高級應用程式的開發,例如PySAL是一個空間數據科學軟體包家族,它被分為如下部分explore -用於對空間和時空數據進行探索性分析的模塊,包括對點、網絡和多邊形格的統計測試。還包括空間不等式和分布動力學的方法。
  • 關於Python病毒樣本的分析方法
    其中,以第1種方式最為簡單也最為常見,而第2種、第3種方法具有一定分析難度。本文針對第二種方式進行介紹,將介紹常見的Python打包工具的安裝和使用方法,同時對典型的Python打包木馬病毒進行分析,並講述相關逆向分析技巧。1.
  • 2020年最新Python視頻教程免費下載,優質的Python全系列視頻教程推薦,百度雲資源python視頻教程
    對於小白來說,英文又不是很好,又不是理工男理工女,又想自學,那麼學習python有什麼好的視頻教程嗎?有哪些優質的Python全系列視頻教程推薦呢?派森君為你分享2020年最新python視頻百度雲資源教程,趕緊下載學習。關於python,看過所謂的很多python入門教程書籍,比如《python編程從入門到實踐》、《笨辦法學python》、《python學習手冊》。
  • 使用python的Flask實現一個RESTful API伺服器端
    ,通常使用JSON作為請求體,或者URL的查詢參數的一部份。規劃如下:HTTP方法URI動作GEThttp://[hostname]/todo/api/v1.0/tasks檢索任務清單GEThttp://[hostname]/todo/api/v1.0/tasks/[task_id]檢索一個任務POSThttp://[hostname]/todo/api/v1.0/tasks創建一個新任務PUThttp://[hostname]/todo
  • 學python?不是一個python入門教程就行,學之前你必須知道這些
    機器學習:這也是python最有魅力的地方,善於做圖形分析,算法建模等等。所以python在人工智慧,機器學習的領域有著讀到的優勢。既然是就業那麼就要看市場,就是人才需求市場,這裡說的市場當讓是說python人才需求的市場了。說到市場當然python每個方向肯定有市場了,咱們直接看主要矛盾:一個是需求量,另一個是入行的難易程度。python全棧目前是市場的需求量最大,入行也是最容易的。要是為了就業那就先這樣入門入行,就不用想了。