gispython腳本開發
❶ 有人用python開發GIS用戶程序么
例子取自<<Learning Geospatial Analysis with Python>>
代碼由兩部分組成。第一部分是數據模型,第二部分是繪制數據(地圖渲染)。
一、數據模型:使用python內置的列表(list),用來存儲空間數據。
[python]view plain
#DATAMODEL
#Alllayerswillhaveaname,1+points,andpopulationcount
NAME=0
POINTS=1
POP=2
#Createthestatelayer
state=["COLORADO",[[-109,37],[-109,41],[-102,41],[-102,37]],5187582]
#Citieslayerlist
#city=[name,[point],population]
cities=[]
#AddDenver
cities.append(["DENVER",[-104.98,39.74],634265])
#AddBoulder
cities.append(["BOULDER",[-105.27,40.02],98889])
#AddDurango
cities.append(["DURANGO",[-107.88,37.28],17069])
#MAPGRAPHICSRENDERING
map_width=800
map_height=500
#StateBoundingBox
#UsePythonmin/maxfunctiontogetboundingbox
minx=180
maxx=-180
miny=90
maxy=-90
forx,yinstate[POINTS]:
ifx<minx:minx=x
elifx>maxx:maxx=x
ify<miny:miny=y
elify>maxy:maxy=y
#Getearthdistanceoneachaxis
dist_x=maxx-minx
dist_y=maxy-miny
#Scalingratioeachaxis
#tomappointsfromworldtoscreen
x_ratio=map_width/dist_x
y_ratio=map_height/dist_y
#Functiontoconvertlat/lontoscreencoordinates
defconvert(point):
lon=point[0]
lat=point[1]
x=map_width-((maxx-lon)*x_ratio)
y=map_height-((maxy-lat)*y_ratio)
#
#
x=x-(map_width/2)
y=y-(map_height/2)
return[x,y]
#Drawthestate
t.up()
first_pixel=None
forpointinstate[POINTS]:
pixel=convert(point)
printpixel
ifnotfirst_pixel:
first_pixel=pixel
t.goto(pixel)
t.down()
#Gobacktothefirstpoint
t.goto(first_pixel)
#Labelthestate
t.up()
t.goto([0,0])
t.write(state[NAME],align="center",font=("Arial",16,"bold"))
#Drawthecities
forcityincities:
pixel=convert(city[POINTS])
t.up()
t.goto(pixel)
#Placeapointforthecity
t.dot(10)
#Labelthecity
t.write(city[NAME]+",Pop.:"+str(city[POP]),align="left")
t.up()
#Performanattributequery
#Question:?
#Writetheresultbutmakesureit'sunderthemap
biggest_city=max(cities,key=lambdacity:city[POP])
t.goto(0,-1*((map_height/2)+20))
t.write("Thebiggestcityis:"+biggest_city[NAME])
#Performaspatialquery
#Question:Whichisthewesternmostcity?
#Writetheresultbutmakesureit'sundertheotherquestion
western_city=min(cities,key=lambdacity:city[POINTS])
t.goto(0,-1*((map_height/2)+40))
t.write("Thewestern-mostcityis:"+western_city[NAME])
#Hideourmappen
t.pen(shown=False)
t.done()
二、地圖渲染
使用python Turtle 繪圖模塊來渲染地圖。其中有一個函數用來將世界坐標轉換為像素坐標。
1、首先計算地圖的顯示範圍及設定屏幕的繪制范圍
[python]view plain
2、世界坐標到屏幕坐標的轉換
[python]view plain
3、繪制地圖:標注和要素圖形
[python]view plain
三、結果
❷ arcgis 怎麼用python做統計分析
方法/步驟
1
打開arcmap軟體,點擊工具欄上的ArcToolbox工具箱,在工具箱裡面選擇要進行數據處理的工具(工具的選擇視數據處理的內容而定),本文選擇了「Define Projection」定義投影的工具進行說明。
雙擊此工具,在彈出的工具窗口點擊右下角的「Show Help>>」按鈕。
2
點擊「Tool Help」按鈕,此時就打開了軟體的幫助文檔並定位到了此工具(define projection)對應的頁面,往下拉動滾動條,定位到此工具的python腳本的內容:
Syntax 介紹了此工具腳本的語法
Code Sample 介紹了腳本使用的例子
拷貝腳本使用例子裡面的代碼。
3
在軟體的主界面點擊「Geoprocessing」菜單-->點擊「Python」菜單項,即出現內嵌在arcigis中的python工具窗口。
python工具窗口的左邊是代碼編輯區域,右邊是信息提示區域。
4
把第2步拷貝的代碼語句粘貼到python工具窗口的左邊區域,修改一下工具腳本的參數(視具體工具和數據而定),連續點擊兩下回車鍵。
5
等待腳本程序的執行完成,完成之後在桌面右下角會彈出提示信息,同時pythong工具窗口的右邊區域也會有具體的工具腳本執行信息。
6
執行完成之後,在arcmap載入處理過的數據,右鍵查看屬性,可以看到通過此工具腳本(define projection)進行投影定義的數據已經具有了投影參數。
http://jingyan..com/article/eae07827ba96a51fec548513.html
❸ arcgis中打開python後,如何編程
此功能和Python的編輯模式是一樣的:
1.
編寫一行,運行一行;
2.
最大的的好處是,可以很方便的調用ArcGIS的介面,處理GIS數據;
3.
當然也可以使用ArcGIS
Toolboxes:
❹ arcgis 10.2 只支持哪些語言進行二次開發
net 平台都可以,包括 C#, VB.net ,還有別的。 另外, 可以使用 Python 進行腳本二次開發。 ArcGIS Server 的話,還可以使用 ASP.net,Javascript , Flex進行開發。
ArcGIS簡介:ArcGIS產品線為用戶提供一個可伸縮的,全面的GIS平台。ArcObjects包含了大量的可編程組件,從細粒度的對象(例如單個的幾何對象)到粗粒度的對象(例如與現有ArcMap文檔交互的地圖對象)涉及面極廣,這些對象為開發者集成了全面的GIS功能。每一個使用ArcObjects建成的ArcGIS產品都為開發者提供了一個應用開發的容器,包括桌面GIS(ArcGIS Desktop),嵌入式GIS(ArcGIS Engine)以及服務端GIS(ArcGIS Server)。
❺ 有哪些 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的開發都需要學習哪些基本的東西
GISer入門指南電子書第一季分享版.pptx免費下載
鏈接:https://pan..com/s/1aq2HNC5YgVGHuc8rNoVUTw
ArcGIS入門級教程,詳細介紹了ArcGIS產品族及成員產品 1、GIS 的概念和需求 2、什麼是ArcGIS 3、Geodatabase中的GIS數據概念 4、桌面GIS產品:ArcView, ArcEditor和ArcInfo等
❼ 有哪些GIS+JavaScript的開發經驗值得分享
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開發方式
GIS軟體開發(第一講).ppt免費下載
鏈接:https://pan..com/s/1ZL-4JblRbl9cIPOp-TkOPQ
地理信息系統(Geographic Information System或 Geo-Information system,GIS)有時又稱為「地學信息系統」。它是一種特定的十分重要的空間信息系統。它是在計算機硬、軟體系統支持下,對整個或部分地球表層(包括大氣層)空間中的有關地理分布數據進行採集、儲存、管理、運算、分析、顯示和描述的技術系統。
❾ 有沒有吧友有《面向arcgis的python腳本編程》的PDF
鏈接:https://pan..com/s/1jJSF4Ce
Python作為一種高級程序設計語言,憑借其簡潔、易讀及可擴展性日漸成為程序設計領域備受推崇的語言。使用Python作為ArcGIS的腳本語言將大大提升ArcGIS數據處理的效率,更好地實現ArcGIS內部的任務自動化。
《面向ArcGIS的Python腳本編程》是一本專門針對ArcGIS編程的Python參考書,以基礎理論結合GIS開發實例的方式,詳細介紹了Python在ArcGIS開發中的基本應用和相關技巧,全書分為4個部分。第一部分主要介紹ArcGISforDesktop中地理處理的基本原理以及Python語言的基礎知識;第二部分主要介紹如何編寫一個處理空間數據的腳本;第三部分主要介紹一系列具體的操作,例如編寫制圖腳本、調試和錯誤處理以及創建Python類和函數;第四部分主要介紹如何將腳本創建成一個工具並與其他人共享。每一章都附帶相應的練習內容,幫助讀者在學習和練習之間得到更多的實踐。
《面向ArcGIS的Python腳本編程》內容結構清晰,示例完整,不僅適合於從事GIS開發的專業人士,而且適合那些有興趣接觸或從事Python編程的讀者。
目錄
第一部分Python和地理處理的相關概念
第1章Python簡介
第2章ArcGIS中的地理處理
第3章Python窗口
第4章Python基礎
第二部分編寫地理處理腳本
第5章使用Python進行地理處理
第6章訪問空間數據
第7章處理空間數據
第8章處理幾何圖形
第9章使用柵格數據
第三部分執行地理處理任務
第10章制圖腳本
第11章程序調試與錯誤處理
第12章創建Python類和函數
第四部分創建並使用腳本工具
第13章創建自定義工具
第14章共享腳本工具