測繪工程專業大地測量方向,想轉gis開發,從哪裡開始學習呢?求指導。?
既然是大地測量碩士,說明還有一定的動手能力吧,建議入門簡單,不一定要做二次開發,做底層開發也不錯,推薦是Python入門,然後學C# 最後學C/C++,如果做web 那就學java吧
Step One: Python 懂了Arcpy和pyQGIS,就懂得ArcGIS和QGIS(即Desktop GIS)Arcpy 參考ArcPy and ArcGIS (豆瓣), pyQGIS 參考PyQGIS Developer CookbookStep Two: Database 包括spatialite 和 postgrelSQL
參考The Gaia-SINS federated project home-page 和PostgreSQL: The worlds most advanced open source database
Step Three: Javascript 最好玩的都在JS上,leaflet和openlayer。參考 Leaflet - a JavaScript library for interactive maps 和 OpenLayers 3可以參考我的博客。Awesome GIS - 簡書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格式,用的不多
- WKTWKB 文本標記語言表示矢量數據
- WKTWKB 筆記一:格式介紹
資料庫
- 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
謝邀,僅限一家之言。不知道題主你對GIS原理是否一定的深入了解,如果沒有的話建議你補一下這方面的知識,同時對任意一款GIS平台軟體的繪圖有適當的了解,一般都以ArcGIS為主。主要結合GIS原理學習ArcMap的操作,理論與實踐相結合。推薦下面這三本書:
Microsoft API and Reference Catalog
編程得多動手實踐,熟悉常用介面、類、屬性等用法,同時要多總結一些常用功能的示例代碼,自己對其進行封裝,這樣後面做更多的二次開發時會容易得多,不用再重新編寫代碼。如果能夠照上面這麼認真學下來的話,最後要做的就是選擇一個你需要的方向,是走desktop,還是web還是mobile,這個由題主你自己來決定了。加油!我也是從測繪轉的GIS,有些感觸。
個人認為學習的過程如下:1.先熟悉一下最基本的GIS知識,相信你在學校已經上過專業課了。2.建議以ArcGIS體系為框架進行學習,網上有D版,方便上手。建議採用ArcGIS 10.1以後的版本 (1)ArcGIS Desktop進行基本操作。 (2)ArcGIS Server進行數據發布。 (3)ArcGIS JavaScript 做前端二次開發。 (4)伺服器端進行開發的話,我建議你學習c# +http://asp.net mvc,主要是visual studio 2013/2015很好用;當然,你也可以選擇Java體系,我不太懂Java不做評論。(5)學習一下空間資料庫操作,SqlServer2008R2以後的版本都支持。
當上面的都會了,那麼你肯定對GIS的框架有了不錯的了解,那麼
3.我覺得你可以常識一下開源的框架,因為很多小的項目,買不起ArcGIS或者超圖軟體。之所以放在這裡學習,是因為開源框架的學習需要一定的代碼基礎和認識基礎。開源框架 前端可以選擇OpenLayer或者Leaflet,服務端隨意,資料庫可選擇postgresql。
4.與上面的體系平行的,就是百度地圖和騰訊地圖的SDK,建議對JavaScript有一定了解以後,可以寫點程序熟悉一下,這些不難,主要是側重是應用。
5.後面的話,根據個人的發展再選擇側重把...:)祝好運根據現在的行業情況來看,從c#看起比較好,如果你想做底層開發就從c++開始看吧,後面你應該會慢慢接觸到其他的
推薦閱讀:
※有了Google Maps API,還需要去購買一些昂貴的GIS系統嗎?2者相比各有什麼優缺點或者說各自適合哪些應用場景呢?
※十進位經緯度坐標小數點後幾位能精確到米?
※現在常用的地圖標記避讓演算法有哪些啊?