一直在构建工作空间_国际资讯Python与地理空间分析
點擊圖片上方藍色字體“慧天地”即可訂閱
英文原文來源:www.gislounge.com
英文原文鏈接:https://www.gislounge.com/python-and-geospatial-analysis/
中文編譯整理:慧天地國際站一鳴
轉載需經【慧天地】許可。毫無疑問,Python已經成為地理空間分析員和研究人員在GIS和更廣泛的空間分析工作中主要使用的計算機語言。對于那些有興趣了解更多信息的人來說,可能會思考一些問題,比如,為什么會出現這種情況?以及最近的趨勢是什么?兩個播客有助于解決這個問題,其中一個是關于地理空間和Python的使用(播客收聽地址為:https://mapscaping.com/blogs/the-mapscaping-podcast/geospatial-python),一個關于Jupyter Notebooks(播客收聽地址為:https://mapscaping.com/blogs/the-mapscaping-podcast/introduction-to-jupyter-notebooks)。更廣泛的趨勢和其他作品也有助于說明這一點。
Anita Graser在她的播客中重點介紹了GIS、地理空間分析和python在過去十多年中共同經歷的巨大發展。最初,計算機語言和地理空間平臺的結合起始于一些主要的GIS平臺,例如ArcGIS和QGIS,它們將Python用作主要的腳本編制、工具制作和分析語言[1]。PostGIS的出現及其對地理空間對象相關數據處理的關注,讓其被同時部署在許多GIS環境中,如QGIS、ArcGIS和OpenStreetMap,且都有所幫助。使用較少的平臺如GRASS也是如此。對于用戶來說,采用Python的主要原因可能是Python易于學習,擅長數據操作,并且有許多有用的庫,這些庫適合或可以很容易地應用于地理空間分析。Graser強調了Pandas和她自己在GeoPandas上的工作[2]。
Pandas在數據操作、分析和數據處理方面比其他一些語言簡單得多,而GeoPandas則特別專注于地理空間格式,它通過利用Pandas的優勢功能來處理常見空間對象,并增加交互式繪圖和性能方面的功能。事實上,Python中有許多功能強大的工具可以幫助用戶利用現有的代碼構建更多的功能。像QGIS這樣的平臺允許用戶輸入自己用Python構建的擴展功能,進一步鼓勵GIS專家開發和使用Python。這種增長表明,隨著GIS用戶和地理空間分析人員不斷提高他們的技能,Python可能是最值得關注的語言。與其他高級語言相比,Python更易于使用,編程風格靈活,可以在不同的范例中應用,其中包括命令式、函數式、過程式和面向對象的方法[3]。流行的平臺還通過添加模型構建器(model builder)來幫助人們編寫函數,模型構建器可以幫助用戶進行基本編程和組織,將用戶創建的數據和功能鏈接起來。
圖1:在QGIS中使用GeoPandas進行軌跡數據處理。
(圖片來源:Anita Graser)
當然,Python用戶也發現了一些問題和障礙。這其中包括常見的兼容性問題,即安裝的庫可能無法很好地進行協同工作,或者使用不同版本時可能會導致代碼中出現異常。詳細的說明文件和安裝文件可以幫助人們解決這個問題,但不是所有庫都存在這個問題。有一些工具可以簡化庫的安裝,比如Conda。Conda的圖形界面是Anaconda。用戶還可以訪問Python開發環境,如PyCharm和Spyder等。Python還可以通過創建直接或可比較地調用其他語言的庫來吸收其他語言的優勢。在性能方面,C語言一直是最好用的語言之一,Cython為Python提供了類似C/ C++的性能增強,Cython通常用于幫助解決數據分析的速度和擴展等問題。雖然Scala和Java等其他語言也值得學習(例如在地理空間數據的大規模數據操作方面),然而得益于并行計算庫和更多的工具利用圖形處理器(GPU)架構這些優勢,人們能夠看到Python被越來越多地應用到大數據問題上。
關于基于代碼的研究,其中的一種批評聲音是認為其難以復制結果和記錄。Jupyter工具系列(包括Jupyter Notebooks)是一組可以應用于Python但也可以應用于許多其他計算機語言的工具,Jupyter Notebooks則是Julia Wagemann在她的播客集中重點介紹的一個工具。Jupyter工具有助于執行、記錄和顯示代碼的工作方式。Jupyter Notebooks可能是這一系列工具中最著名的。此工具允許編寫單元或代碼塊,直接將數據和代碼集成到小片段中,并在Notebooks中顯示輸出。這允許用戶查看給定的代碼是如何工作的,充當文檔的一種類型或輔助性文檔,并有助于幫助人們了解給定代碼正在做什么。另一個好處是Notebooks可以讓用戶在不同的計算機語言之間切換。例如,許多地理空間項目將Python應用于地理空間功能,但隨后又將另一種流行的分析語言R用于可視化顯示或統計分析。擁有一個Jupyter Notebooks可以顯示每種語言的代碼的不同部分,同時也允許顯示鏈接,以便在兩種語言之間開發可以復制的工作流。根據每個Notebooks使用的不同內核,這是可能實現的。從地理空間相關工作的角度出發,Jupyter Notebooks使其更易于顯示視覺輸出并在團隊之間進行復制,同時通過集成的數據鏈接令數據的訪問變得更加容易。以前,用戶必須下載很大的數據文件,這使復制變得困難且麻煩。對于科學家來說,這是非常重要的,因為這意味著相關的研究工作可以更容易地從現有的工作中進行驗證和構建。人們可以把Jupyter Notebooks看作是在一個環境中提供文檔、調試和執行的工具,這對于用戶學習編寫代碼也非常有用。例如,當人們看到Python在地理空間分析方面的崛起時,那些可能不擅長編碼但想學習Python的人可以使用Jupyter Notebooks以簡單易用的方式學習部分代碼。JupyterHub可以幫助多個使用Jupyter Notebooks的用戶進行協作。它有助于安裝所需的庫,并允許協作者查看對方正在開發什么,允許用戶編輯和輸入。Jupyter家族中的另一個工具是JupyterLab,它允許基于Web的界面進行協作,還支持不同的數據格式。在共享和訪問Jupyter Notebooks時,可以鏈接到其他用于開發的Jupyter工具。Voilà工具是Jupyter工具系列的一部分,可以用來幫助JupyterLab開發web應用程序[4]。總的來說,現在學習用于空間分析的Python語言變得更加容易,這意味著Python將在未來一段時間內繼續作為地理空間應用程序的主導語言。
圖2:分割地圖功能是ipyleaflet軟件包的一部分,該軟件包是基于一個Jupyter的交互式地圖可視化系統。
(圖片來源:JupyterBlog)
Python已經成為地理空間分析的主導語言,因為它正在被主要的GIS平臺所采用。但是越來越多的用戶也看到了它在數據分析方面的潛力,而且它相對容易理解的語法能夠有助于增加用戶數量。現在有許多庫,人們可以通過組合不同的庫來幫助用戶創建復雜的應用程序,有時只需少量的編碼。QGIS等流行工具支持更廣泛的社區貢獻用Python編寫的插件,從而促進了人們對于Python的使用。像Jupyter Notebooks這樣的工具也使得學習Python、完成給定項目和復制結果變得更加容易。許多工具從一開始就被開發為開源的,并且易于訪問,這進一步鼓勵了用戶。對于地理空間分析人員來說,Python已經成為開發應用程序和強大分析中不可或缺的工具。
參考文獻:
[1]For more on the adoption of Python in GIS and benefits,see:https://www.gislounge.com/use-python-gis/.
[2]For more on Pandas and GeoPandas, see:https://pandas.pydata.org/ andhttps://geopandas.org/respectively.
[3]For more on Python and geospatial analysis and GISintegration, see:? Toms, S., Rees, E. V.,& Crickard, P. (2018). Mastering Geospatial Analysis with Python. PacktPublishing Ltd.
[4]For more on the Jupyter family of tools, includingJupyter Notebooks, see:? Vanderplas, J.T. (2016). Python data science handbook: essential tools for working with data(First edition.). Sebastopol, CA: O’Reilly Media, Inc..
(點擊圖片即可查看詳細信息)內容轉載、商務活動、投稿等合作請聯系
微信號:huitiandi321
郵箱:geomaticshtd@163.com
歡迎關注慧天地同名新浪微博:
ID:慧天地_geomaticser
往期精彩推薦國際資訊|Hexagon將在美國和歐洲更新300萬平方公里的數據
國際資訊|Earth Archive項目與地球3D地圖
國際資訊|3D at Depth推出了遙感和遠程數據控制解決方案
《慧天地》敬告
《慧天地》公眾號聚焦國內外時空信息科技前沿、行業發展動態、跨界融合趨勢,探索企業核心競爭力,傳播測繪地理信息文化,為測繪、地信、遙感等相關專業的同學提供日常學習、考研就業一站式服務,旨在打造政產學研用精準對接的平臺。《慧天地》高度重視版權,對于原創、委托發布的稿件,會煩請作者、委托方親自審核通過后才正式推發;對于來自網站、期刊、書籍、微博、微信公眾號等媒介的稿件,會在作者欄或者文章開頭顯著標明出處,以表達對作者和推文引用平臺版權的充分尊重和感謝;對于來源于網絡作者不明的優質作品,轉載時如出現侵權,請后臺留言,我們會及時刪除。感謝大家一直以來對《慧天地》的關注和支持!——《慧天地》運營團隊編輯:李斯奇?審核:安有碩 杜一鳴? 祝基堯指導:萬劍華教授總結
以上是生活随笔為你收集整理的一直在构建工作空间_国际资讯Python与地理空间分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java在线编译器_什么是Java内存模
- 下一篇: python时间序列画图_简洁的Pyth