導航:首頁 > 編程語言 > webgis後端python

webgis後端python

發布時間:2022-04-29 07:58:56

⑴ 簡單的webgis選擇哪個開源gis

postgis資料庫+Openlayer客戶端展示+java後端處理+GeoServer-GIS伺服器+tomact-web伺服器+uDig地圖處理

⑵ 怎麼學好webgis開發

看到這個問題的前兩天,我正好看到一個大牛(GIS520社區站長)寫的經驗介紹。
貼下原文:
本文主要介紹小白如何成為初級WebGIS開發工程師,只適合對應人員參考(WebGIS前端的技能要求和互聯網前端要求有些差距的)。後續會有中、高級WebGIS開發工程師相關文章。
程序員的職業崗位,一般的公司會根據技術能力情況區分等級。每個等級有對應的薪資范圍。
如果不區分級別的,可能這個公司就不是以技術驅動的公司,研發團隊管理也不夠專業。一些大公司可能會像阿里那種級別劃分,p1~p10,騰訊網路也類似。小公司可能就簡單的劃分為初級開發工程師、中級開發工程師、高級開發工程師、技術經理、專家/技術總監。
小白一開始的目標就應該定位為初級開發工程師,然後通過努力,成長為中級到高級。那麼下面我介紹一下需要具備什麼樣的技能才能成為一名合格的WebGIS開發工程師。

技術基本要求
1. JavaScript、CSS/HTML掌握;
2. 至少掌握ArcGIS API for javascript 或者 openlayers一種;
3. 懂mysql或oracle或postgresql一種;
4. 掌握Arcgis server或者geoserver發布地圖服務並展示;
5. 懂得Java後端語言加分(不強制)。

以上要求,是基於我個人經驗以及對一些GIS公司工作的理解。如果你都能滿足,可以隨意找webgis的開發崗位了。具體什麼薪資,每個公司會有點區別,並且要看個人技術的總體情況。
注意我對技術的描述關鍵詞都是「掌握」,並沒有說是「熟練」,如果是熟練的話,那應該至少是中級開發工程師了。下面我在仔細的說明這些技能如何學習和對應初級WebGIS開發工程師的掌握程度。

1. JavaScript、CSS/HTML掌握
這里邊最重要的是html和JavaScript兩個,其次是css。對webgis公司來說,系統頁面和美觀效果和互聯網的網站相比,有些差距,所以css這邊要求不高;解釋一下js為什麼是最重要的,因為js是用的最多的,所有的web頁面邏輯都是用js來實現,一般你的js能力的大小可能決定你工作的效率和所能承擔的任務難度大小。
js、css、html三者綜合起來佔WebGIS崗位技術比為70%(就是滿分100分,這里佔了70分,看你能拿多少了)。
對於小白,我建議就是先學習html,然後了解一下css,最後好好學習js。學習難度上,html最好學,其次到js入門容易,最後到css,css入門和學好都比較花時間的,需要慢慢來,多練習。而js入門沒啥難度,但是學好,熟練,精通就難了。
這里推薦三本書:
《JavaScript權威指南》第六版
《JavaScript高級程序設計》第三版
《CSS權威指南》第三版

初學者不宜看過多類似的書,只需要一種讀好,讀懂一本就夠了,推薦的都是最好的之一。如果在一開始看不到,可以藉助一些網站,比如問w3cschool網站手冊,或者慕課網的一些視頻教程。循序漸進,基礎語法掌握後,嘗試多做練習。如果不知道做什麼,我幫你出題。

2. 至少掌握ArcGIS API for javascript 或者 openlayers一種
作為一名合格的WebGIS開發工程師,這個技能是不可少的。但是不管是arcgis還是openlayers地圖框架,都是一個api 庫。
這里解釋一下什麼是API,因為完全小白的人可能不了解。API 可以簡單的理解為一個工具箱,里邊有錘子、釘子、螺釘、螺母等工具或零件,你做一樣東西或者修一樣東西需要什麼工具,就找到這個工具箱,然後要用錘子就找到錘子使用就行了。這個是最簡單的比喻,實際上是有點區別,如果不懂得話,暫且可以這么理解。
要掌握ArcGIS API for javascript 或者 openlayers一種的前提是編程語言JavaScript過關。越熟悉越好。如果你熟悉使用JavaScript,對於ArcGIS API for javascript 或者 openlayers一種就可以做到,邊看文檔邊操作一樣的效果了。學習的話就到對應的官網看文檔就夠了,官方demo也比較詳細,沒有哪本書做得比官方文檔好。這里不推薦書籍。

3. 懂mysql或oracle或postgresql一種
工作上,我們可能會經常做一些業務功能,業務簡單的可以理解為增刪改查,而這些數據的操作都是基於資料庫的。資料庫,程序員是必須要掌握熟悉的技能,基本的sql要會寫。不管什麼資料庫,sql語言都很相似,一開始只需要選擇一種去學習就夠了。首選mysql或oracle。

4. 掌握Arcgis server或者geoserver 發布地圖服務並展示
這個是軟體層面的使用,真正工作上,可能發布地圖服務的工作是技術支持人員操作的,但是,說道學習上,開發人員也是必須要掌握的。
一方面,自己可以安裝軟體,然後通過學習發布地圖服務,有了地圖服務,自己可以在程序中調用地圖服務,可以做自己的webgis系統,編程練習等;
另一方面,只有了解了地圖服務這一層面的知識原理,你才能更好的理解到WebGIS是什麼,WebGIS地圖是如何展示和工作的。

5. 懂得Java後端語言加分(不強制)
一些小公司可能會把WebGIS開發工程師叫做GIS開發工程師,如果你懂得Java,可能會接觸到一些後端開發的工作,介面的書寫等。
懂得一門後端編程語言,我個人覺得是比較重要的,對日後學習的理解,前後端工作流程的理解都相當的重要。而且,你可以自己搭後端,自己寫前端頁面,這樣就可以獨自一人完成一個網站。
當你有能力一個人完成一個網站的時候,從資料庫表結構設計、後端框架搭建、介面設計編碼實現,到前端框架搭建、前端編碼頁面實現,整個過程你會學到很多東西。如果你懂後端了,不知道怎麼開發網站,你可以來找我,我指導你去設計,去實現。
當然,小白建議忽略這個技能要求,因為學習前面的技能要花費很多時間,日後你往更深的技術層次追求時,再考慮進去。

寫在最後
上邊的技能要求,針對的是小白或入門級的,如果你不是這個群體,可以忽略;如果你已經是初級或者中級開發工程師了,但是發現自己有些不足,那你就好好對自己的技術成長路線規劃一下。對於未知的技術學習建議:

1. 首先,掌握熟悉你所在公司所使用和涉及的技能
好處:幫助自己更好更快完成工作任務,這樣可以減少加班;領導發現你能力不錯,對自己也有好處。當然,如果你覺得公司使用的技術比較low,你在混,那建議你盡快離職,不要浪費自己的時間;如果你到哪都是混,那建議你還是轉行算了。

2. 不要滿足於現狀,不管是技術上,還是其他
技術無止境,一個公司的技術棧在長時間內不會變化的,這個時間可能是3年、5年或者10年。
當然,不變化的可能是傳統軟體公司,或者是小公司。不要覺得你工作幾年出去有經驗就吃得香了。要有危機感,跟進最新技術發展情況,觀察大公司流行使用什麼框架技術,自己嘗試去學習了解。
也不要找借口說沒時間學習,如果把自己玩游戲或看電視劇的時間用在學習上,會是什麼樣子呢?

⑶ 有哪些 GIS+python 的開發經驗值得分享

python之於GIS與python之於IT類似
GISer採用python的原因也在於「人生苦短,我用python」
python在gis中的應用非常之廣
1. desktop GIS:
ArcGIS從版本10開始不再支持原來的VBA,而改用python
QGIS本身大部分的代碼特別是插件部分可以採用python進行開發
2. 地圖引擎
mapnik—基於C++引擎的頂級地圖引擎庫,和python結合比較緊密
mapfish—支持部分專題地圖在線製作
3. webgis
python+geodjango 是最常用也最龐大的後台框架

GISer使用python一定要充分發揮python語言的特性
如ArcGIS集成phthon是利用了python的腳本語言特性
後台webgis等服務,可以發揮python作為語言黏合劑的特性,充分利用已有的GIS演算法

⑷ WEBGIS系統開發常用的技術框架有哪些,從前端到

前端:
1、老一代兩大富應用(RIA)框架(目前已經停止更新):flex、silverlight
2、其他開源(早期項目較多):openlayer2、amap、bmap、ArcgisAPI4JS(3系列版本)
3、較新框架:openlayer3、cesiums、ArcgisAPI4JS(4.0之後版本)、
4、輕型框架(需要二次封裝):WebGL(例如d3.js、three.js)
後端:arcgisServer、geoserver、mapserver
部分效果如下
flex:
<img src="https://pic3.mg.com/50/v2-_hd.jpg" class="content_image">
openlayers:
<img src="https://pic2.mg.com/50/v2-_hd.jpg" class="content_image">
cesiums:

⑸ 學習網路GIS的開發都需要學習哪些基本的東西

GISer入門指南電子書第一季分享版.pptx免費下載

鏈接:https://pan..com/s/1aq2HNC5YgVGHuc8rNoVUTw

提取碼:wttn

ArcGIS入門級教程,詳細介紹了ArcGIS產品族及成員產品 1、GIS 的概念和需求 2、什麼是ArcGIS 3、Geodatabase中的GIS數據概念 4、桌面GIS產品:ArcView, ArcEditor和ArcInfo等


⑹ 有哪些 GIS+Python 的開發經驗值得分享

python之於GIS與python之於IT類似
GISer採用python的原因也在於「人生苦短,我用python」
python在gis中的應用非常之廣
1. desktop GIS:
ArcGIS從版本10開始不再支持原來的VBA,而改用python
QGIS本身大部分的代碼特別是插件部分可以採用python進行開發
2. 地圖引擎
mapnik—基於C++引擎的頂級地圖引擎庫,和python結合比較緊密
mapfish—支持部分專題地圖在線製作
3. webgis
python+geodjango 是最常用也最龐大的後台框架
GISer使用python一定要充分發揮python語言的特性
如ArcGIS集成phthon是利用了python的腳本語言特性
後台webgis等服務,可以發揮python作為語言黏合劑的特性,充分利用已有的GIS演算法庫

⑺ 有哪些 GIS+Python 的開發經驗值得分享

GIS 和 python 的結合有很多種可能性

Arcpy 參考ArcPy and ArcGIS (豆瓣), pyQGIS 參考PyQGIS Developer Cookbook
Geopython GIS相關庫

GDAL 參考 Welcome to the Python GDAL/OGR Cookbook!
各種空間資料庫,如 spatialite 參考 SpatiaLite Cookbook
基礎庫(抽象庫)
GDAL 不多說,GIS萬物本源
Proj.4 制圖學投影轉換庫
geojson geojson數據處理,點線面
高級庫
Shapley GIS的圖像處理
Fiona GIS數據讀入寫出
Rtree Rtree空間索引
pyproj Proj.4的介面擴展
OWSLib WMS地圖服務發放
basemap 畫地圖
超高級庫
geopandas 整合了pandas,shapely,fiona,descartes,pyproj和rtrees可以直接用於數據處理
geodjango django出品,保護GDAL,GEOS等可以發送地圖服務
參考 Python 筆記三:Geopython GIS相關庫

而如今,javascript在互聯網的地位也變得越來越重要,GIS+JS的項目也氤氳而生,所以問題來了。參考:有哪些GIS+JavaScript(node.js)的開發經驗值得分享? - Node.js

或者關注我的博客,寫得不是很好,希望各路大神多多留言指導。

Awesome GIS(GIS Tech Stack技術棧)
Geomatics專欄點此:Geomatics(GIS,GPS,RS,Surveying)
語言
Python 最好的快速開發語言,是一門API藝術
awesome-python
1簡單的入門
2總結入門坑及基礎資源
3Geopython GIS相關庫
4Python的常用庫入門
5Flask框架
6入門爬蟲坑--網頁數據壓縮(python deflate gzip)
7Requests爬蟲技巧
Node.js 最炙手可熱的網路技術源泉,可用於WebGIS
awesome-javascript
1常用Global庫
2入門及GeoNode.js GIS相關庫
前段
Leaflet 兼容移動端,和現代的一些框架一樣優先考慮移動端
1leaflet入門
2簡單插件編寫leaflet-pip-v2
3進階插件編寫geojsonFilter
Mapbox總有人討論「Mapbox VS Leaflet?」這是個爛問題,Mapbox是Leaflet的超集,就像Typescript和Javascript之間的關系一樣
Openlayer3扯淡大叔教程
Turf js層面做出簡單的空間分析
後端
Geoserver 基於Java的地理信息服務的發布,使用簡單
Mapserver 基於C語言的地理信息服務的發布,內存佔用小
GDAL 數據格式轉換
1GDAL命令行入門
2python for GDAL
3gdal CLI Cheat Sheet
數據格式
GeoJSON 開源地理信息JSON格式
awesome-geojson
geojson-js-utils 空間數據簡單處理js實現
geojson-python-utils空間數據簡單處理python實現
TopoJSON 開源地理信息JSON格式,大小要比GeoJSON小40%
TileJSON 瓦片數據包裝的JSON格式,用的不多
WKT&WKB 文本標記語言表示矢量數據
WKT&WKB 筆記一:格式介紹
資料庫
Spatialite 空間數據的查詢等處理,小項目足矣
1簡單的入門
2CLI Cheat Sheet
3python for Spatialite
4NET平台使用spatilite擴展
5Spatiliate2GeoJson數據的轉換
Postgresql 大型空間數據項目
MBTILES 承載瓦片的數據,快速索引
1入門與簡單應用
瓦片渲染
Global Mapper 專門用作已有柵格圖像切片
Mapnik 專門用於矢量數據的切片
TileMill 在矢量數據渲染時,運用CartoCSS對矢量數據賦予樣式
數據處理
QGIS 開源GIS數據處理桌面軟體,其中包含Grass,SAGA兩個學術界開源GIS平台
1簡單的介紹
2地圖綜合
Mapsharper 數據綜合神器
1地圖綜合神器
數據資料
地理空間數據雲 沒想到數據來的這么快
填坑
1網頁端JS的緩存問題
2Angular遇到的一些坑
3SpatialiteSharp的使用坑
整個技術棧主要針對的是輕量或者小項目去考慮,運用一些流行的盡可能開源的工具去做,這是我的一些想法和筆記,詳情參考從mapbox的開源工具看Web GIS的發展,希望能給您一點點幫助。PS:我在github上看到一個awesome gis,並非我主導的,希望各位GISer可以一起參與修改。
轉載,請表明出處。總目錄Awesome GIS

⑻ 想走開發方向,想學webgis,請問該學什麼知識

先說一個什麼是webgis WEBGIS:通過互聯網對地理空間數據進行發布和應用,以實現空間數據的共享和互操作,如GIS信息的在線查詢和業務處理等。WebGIS客戶端採用Web瀏覽器,如IE,FireFox。WebGIS是利用Internet技術來擴展和完善GIS的一項新技術,其核心是在GIS中嵌入HTTP標準的應用體系,實現Internet環境下的空間信息管理和發布。WEBGIS可採用多主機、多資料庫進行分布式部署,通過Internet/Intranet實現互聯,是一種瀏覽器/伺服器(B/S)結構,伺服器端向客戶端提供信息和服務,瀏覽器(客戶端)具有獲得各種空間信息和應用的功能(轉自網路)其實webgis已經包括了前端,後端,資料庫,再加一些gis基礎的東西,如果說整個webgis的環節,你應該已經是一個全棧工程師了。現在webgis很大一部分是對空間數據和空間數據分析結果的展示,後端很多功能基本是用很成熟的技術調用介面來完成的。很大一部分工作是在web前端這塊。那就說你要學的東西吧,假設你已經具有了,gis相關基礎。webgis地圖基本原理看一下你http://www.thinkgis.cn/topic/541ac2e15eb69f9abd038dfc現在的主要任務就是去學習前端知識。HTML,JavaScript,css,這三樣必須要熟悉,接著後面你可以使用一些地圖開源庫調用地圖的服務和相關介面地圖展示相關數據了。如果你想展示的效果足夠炫,你就需要研究一些繪圖技術了,svg,canvas,如果你想做三維就要上webgl了。題主想學習的話,還是做一些東西,邊學變練手,慢慢就上路子了,學習webgis不在於用什麼API,什麼庫,基礎打好,一切api,庫都是看文檔。練手的話,題主可以搞些PM2.5數據,在地圖上展示一下地圖庫可以選leaflet,openlayer,arcgis的也可以,做一些熱力 tu如效果,時間變化效果,一些圖表展示,在搞個後端存儲一下數據,弄一下簡單的服務端。做這樣一個小例子下來你算是webgis入門了。

⑼ 走gis 的web路線用學 python吧

我來說說我的一點經驗,對於gis來說,python可以用來寫一些gis工具,這些工具一般都配合arcgis工具箱一起使用,單單針對gis來說,python的東西並不很多,但是和你學webgis還有三維是沒什麼必然關聯的,所以如果是想多學東西,可以兼顧python,如果精力有限,不管也行,個人感覺哈。

⑽ WEBGIS系統開發常用的技術框架有哪些,從前端到後端,求推薦

前端:
1、老一代兩大富應用(RIA)框架(目前已經停止更新):flex、silverlight
2、其他開源(早期項目較多):openlayer2、amap、bmap、ArcgisAPI4JS(3系列版本)
3、較新框架:openlayer3、cesiums、ArcgisAPI4JS(4.0之後版本)、
4、輕型框架(需要二次封裝):WebGL(例如d3.js、three.js)

後端:arcgisServer、geoserver、mapserver

(作者:毛小亮)

閱讀全文

與webgis後端python相關的資料

熱點內容
數學奇跡神奇運演算法 瀏覽:359
大廠的程序員的水平如何 瀏覽:700
遺傳演算法入門經典書籍 瀏覽:878
源碼炮台腳本 瀏覽:620
在位編輯命令 瀏覽:347
曲式分析基礎教程pdf 瀏覽:14
php生成靜態html頁面 瀏覽:964
怎麼分割pdf 瀏覽:812
壓縮垃圾報警器 瀏覽:629
小公司一般都用什麼伺服器 瀏覽:968
java獲取時間gmt時間 瀏覽:820
為什麼csgo一直連接不到伺服器 瀏覽:504
安卓登ins需要什麼 瀏覽:836
機器人演算法的難點 瀏覽:226
全自動化編程 瀏覽:727
程序員高薪限制 瀏覽:693
壓縮圖片壓縮 瀏覽:75
美國發明解壓魔方 瀏覽:302
電腦怎麼備案網上伺服器 瀏覽:515
旅行商問題Python寫法 瀏覽:953