當前位置:首頁 » 編程軟體 » gispython腳本開發

gispython腳本開發

發布時間: 2022-07-31 11:02:26

❶ 有人用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])

  • 二、地圖渲染

    使用python Turtle 繪圖模塊來渲染地圖。其中有一個函數用來將世界坐標轉換為像素坐標。

    1、首先計算地圖的顯示範圍及設定屏幕的繪制范圍

    [python]view plain

  • #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

  • 2、世界坐標到屏幕坐標的轉換

    [python]view plain

  • #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]

  • 3、繪制地圖:標注和要素圖形

    [python]view plain

  • #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()


  • 三、結果






❷ 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

提取碼:wttn

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

提取碼:54pe

地理信息系統(Geographic Information System或 Geo-Information system,GIS)有時又稱為「地學信息系統」。它是一種特定的十分重要的空間信息系統。它是在計算機硬、軟體系統支持下,對整個或部分地球表層(包括大氣層)空間中的有關地理分布數據進行採集、儲存、管理、運算、分析、顯示和描述的技術系統。

❾ 有沒有吧友有《面向arcgis的python腳本編程》的PDF

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

密碼:kn4w

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章共享腳本工具

熱點內容
網吧怎麼通過伺服器玩網路游戲 發布:2025-02-08 19:59:52 瀏覽:914
文檔編輯加密 發布:2025-02-08 19:56:31 瀏覽:392
phpmysql存儲過程實例 發布:2025-02-08 19:54:40 瀏覽:161
淘寶賣的地下城腳本 發布:2025-02-08 19:41:40 瀏覽:61
安卓怎麼把提升畫質關了 發布:2025-02-08 19:40:11 瀏覽:361
我想你加密 發布:2025-02-08 19:39:24 瀏覽:215
java手機號正則表達式 發布:2025-02-08 19:34:50 瀏覽:353
ue加密 發布:2025-02-08 19:34:05 瀏覽:476
滁州壓縮機 發布:2025-02-08 19:34:03 瀏覽:882
壓縮棉花絮片 發布:2025-02-08 19:33:12 瀏覽:395