在過去的二十年中,Python 與 GIS 的使用顯著增加,特別是隨著 2000 年 Python 2.0 系列的推出,其中包括許多新的編程功能,使該語言更易于部署。
從那時(shí)起,Python 不僅在商業(yè) GIS 中使用,如 Esri 的產(chǎn)品,還在開源平臺(tái)中使用,包括作為 QGIS 和 GRASS 的一部分。
事實(shí)上,迄今為止,Python 是 GIS 用戶和程序員使用最廣泛的語言。Esri 等大公司已經(jīng)接受 Python,它是一種相對簡單的語言,許多用戶已完全接受。
在 GIS 中使用 Python 的好處
Python 的主要好處是減少了冗余行為。 例如,如果只使用 GRASS 或 QGIS 的原生平臺(tái),進(jìn)行多視域分析將需要一些時(shí)間。但是,通過集成處理起點(diǎn)的簡單循環(huán)和影響視域的簡單規(guī)則,可以在單個(gè)過程中應(yīng)用許多領(lǐng)域。此外,這現(xiàn)在也為許多 GIS 用戶提供了在其更大的應(yīng)用程序中創(chuàng)建特定程序以啟用批處理運(yùn)行、動(dòng)態(tài)編譯、訪問各種開源工具、輕松分配內(nèi)存和其他實(shí)用程序的可能性。大多數(shù) GIS 用戶像腳本一樣使用 Python,而不是應(yīng)用其面向?qū)ο蠡蛎钍骄幊田L(fēng)格的特性。換句話說,Python 通常用于解決特定但有限的問題,作為更廣泛的應(yīng)用程序或分析的一部分。然而,該語言在不斷發(fā)展,通常基于用戶社區(qū)的輸入,這是該語言早期哲學(xué)的一部分。
添加微信好友, 獲取更多信息
復(fù)制微信號
認(rèn)識(shí)到許多用戶只是希望在程序中使用一個(gè)簡單的腳本,這導(dǎo)致了它的簡化開發(fā)。實(shí)際上,相對于其他語言,如 C、C++ 等高級語言,Python 的主要優(yōu)勢在于其相對容易學(xué)習(xí),語法看起來更像人類語言和函數(shù),用戶經(jīng)常會(huì)遇到諸如垃圾收集、自動(dòng)化等問題。盡管如此,Python 擁有眾多庫,盡管語法簡單,但功能相對強(qiáng)大,如今它已使新型應(yīng)用程序成為可能,如用于移動(dòng)設(shè)備的 GIS、地圖功能與 Web 程序的集成以及許多 新工具需要服務(wù)器和基于云的服務(wù)的其他領(lǐng)域。Python 允許訪問眾所周知的庫,如谷歌地圖和其他流行的谷歌軟件。實(shí)際上,Python 允許廣大程序員更輕松地集成各種軟件,并使 GIS 和制圖工具與其他流行的工具和設(shè)備集成。這有助于在很大程度上解釋當(dāng)今使用 GIS 工具和地圖 繪制的移動(dòng)設(shè)備和其他應(yīng)用程序的大幅增長。
Python 在 GIS 中的未來
使用 Python 的 GIS 未來仍然充滿挑戰(zhàn)。如雖然 Python 3.x 一直在開發(fā)中,但許多程序是用 Python 2.x 系列編寫的,這為讓舊代碼與正在開發(fā)的較新 Python 版本一起工作提供了 一些挑戰(zhàn)。語言有弱點(diǎn)。例如,Python 最初被設(shè)計(jì)為更像 是一種腳本語言,許多程序員仍然如此應(yīng)用它。該語言是一種解釋型語言,因此與 C/C++ 相比速度較慢,編譯不會(huì)在運(yùn)行時(shí)之前發(fā)生。但它可以部署為面向?qū)ο蟮某绦颍@對于較大的軟件應(yīng)用程序更為典型。
該語言在執(zhí)行之前不會(huì)輕易通知代碼中的錯(cuò)誤,這使得有時(shí)比其他語言更難修復(fù)編程錯(cuò)誤。許多語言常見的信息隱藏并不明確,導(dǎo)致經(jīng)驗(yàn)豐富的 程序員需要進(jìn)行更繁重和額外的編碼,以使用 Python 構(gòu)建 與其他一些語言的復(fù)雜性相匹配的工具。Python試圖讓許多 人更容易使用這種語言,這一事實(shí)有時(shí)會(huì)讓其他人更難使用其他語言中常見的編程技術(shù)。
盡管如此,Python 背后的哲學(xué)是簡單且更好的。這對每個(gè)人來說可能不是一個(gè)有用的哲學(xué),但這意味著 Python 擁有更大的用戶社區(qū),導(dǎo)致許多主要軟件公司接受 Python,即使軟件的其他部分是用其他語言構(gòu)建的。
來源:開源地理空間基金會(huì)中文分會(huì)
來源鏈接:https://www.osgeo.cn/post/10fe6
本站聲明:網(wǎng)站內(nèi)容來源于 *** ,如有侵權(quán),請聯(lián)系我們,我們將及時(shí)處理。