❶ 誰有python for arcgis的函數集啊必當重謝

Python是一種編程語言,話說是發展勢頭比較好的語言。arcgis有些內容需要用到編程的東西專,所以屬會有Java虛擬機、Python啥的,學GIS的應該都會學基於arcgis server的Java/C# 開發吧。arcgis本身可能也有些組件是Python寫的,所以有安裝時會同時安裝Python。如果電腦里原來有安裝Python,則可以不裝。

❷ 如何用Arcgis里的Python進行批處理

目前比較常見的批處理包含兩類:DOS批處理和PS批處理。PS批處理是基於強大的圖片編輯軟體Photoshop的,用來批版量處理圖片的腳本;
而DOS批處理則是基於DOS命令的,用來自動地批量地執行DOS命令以實現特定操作的腳本。更復雜的情況,需要使用if、for、goto等命令控製程式的運行過程,如同C、Basic等高級語言一樣。如果需要實現更復雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟體。批權處理程序雖然是在命令行環境中運行,但不僅僅能使用命令行軟體,任何當前系統下可運行的程序都可以放在批處理文件中運行。

❸ 如何在安裝arcgis 10.0之後安裝pythonwin 2.6 for win64

ArcGIS 10 安裝後,默認會為我們安裝python2.6,但是在使用Python IDLE的時候,可能會碰到無法導入arcpy的問題。安裝pythonWin 之後,也可能碰到pythonWin崩潰的問題。導致這些問題的關鍵點在哪?安裝python2.6和pythonwin的具體流程如何?在這里,總結一下解決這些問題的關鍵點和具體操作流程。
python 安裝的關鍵點:
1、安裝目錄一定要是C:\Python2.6\ArcGIS10.0 或C:\Python26\ArcGIS10.0
默認安裝python2.6時是不會帶著ArcGIS10.0這一級目錄的,這樣就會出錯,導致IDLE中無法引用arcpy。
2、配置Desktop10.pth文件,將文件放置到C:\Python2.6\ArcGIS10.0\Lib\site-packages目錄
3、pythonWin 2.6.2安裝後,可能有bug, 運行任何python 命令,pythonwin都會崩掉。bug說明:NIM059899 - PythonWin crashes when running commands from the i..
修復辦法:下載scintilla.dll,替換掉C:\Python2.6\ArcGIS10.0\Lib\site-packages\pythonwin目錄下的scintilla.dll。scintilla.dll的下載地址:scintilla.dll download。

具體安裝流程:
1、安裝deskop安裝光碟上的python-2.6.5.msi,默認安裝文件位於:安裝光碟\Desktop\Python。切記安裝目錄要指定到C:\Python2.6\ArcGIS10.0;
2、安裝numpy-1.3.0-win32-superpack-python2.6.exe,安裝目錄按默認即可。
3、安裝pythonWin, 默認安裝文件位於:安裝光碟\Desktop\PythonWin。安裝目錄默認會指定到C:\Python2.6\ArcGIS10.0\Lib\site-packages,這個不需要更改。
4、在C:\Python2.6\ArcGIS10.0\Lib\site-packages目錄下創建Desktop10.pth文件,用文本編輯器打開,裡面填上下列三行:
C:\Program Files (x86)\ArcGIS\Desktop10.0\Bin
C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.0\ArcToolbox\Scripts
5、下載scintilla.dll文件,替換掉C:\Python2.6\ArcGIS10.0\Lib\site-packages\pythonwin目錄下的scintilla.dll。

❹ 如何在ArcGIS for Desktop中實現批量任務

ModelBuilder 是 ArcGIS for Desktop
產品中最可愛的功能之一,它可以盡可能免代碼地將我們從重復勞動中解放出來。使用 ModelBuilder
的過程常常被比喻為「搭積木」,我們只需要拿著 ArcGIS for Desktop 中為我們提供的「積木」去搭建滿足於自己的特定工作流模型。

再打個比方,我們要實現的某個功能比作是自己做麵包。首先要准備食材,例如麵粉、牛奶、雞蛋、黃油、糖、鹽、酵母,類比為 地理數據; 食材齊備了,就可以順序開始和面、發酵、烘焙,這些工作由特定的器具承擔,例如各種烘焙工具、烤箱,就好比ArcGIS提供的 工具,例如 ArcToolbox中的工具們; 麵包製作過程中可以根據自己口味,規定發酵時間、控製糖和鹽的多少等,這就類比為工具的自定義 參數 。

如果自己享受整個烘焙的過程,不厭其煩地面面俱到,那大可維持現狀;可是如果你覺得做麵包是個體力活,你只是想吃到自家麵包,而希望把做麵包的過程「外包」出去,那麼麵包機的市場就來了。這篇blog就和大家說說如何製作「麵包機」。

1 明確需求

我們從一個簡單常見的實例開始……

需求:現有一些表示各種研究對象的地理數據,小明希望把所有研究數據變換到需要的坐標系統,並且全部裁剪至研究范圍。

如果只有一份數據,小明會不假思索的找到 ArcToolbox中的 Project和Clip工具,順序執行即可解決問題;如果是3+份數據,小明可能會想,該做個工具了。

2 構建工作流

從【地理處理】菜單,打開 ModelBuilder,依次拖拽和連接 Project 和 Clip 兩個工具。Project 工具的輸出作為 Clip 工具的輸入。

雙擊工具可以打開工具繼續填補工具需要的參數,直至Model因參數完全而變成彩色。

3 使用迭代器

前一步的工具已經滿足一次任務的需要了,接著就是解決批量處理的問題。ModelBuilder提供了一些額外的自帶工具來滿足我們的一些高級需求,其中一類就是 迭代器,它用來實現循環。

在這個例子中,需要遍歷的對象是表示各種研究對象的要素類,因此選擇 迭代要素類 / Iterate Feature Classes。當然也可以根據自己的實際需求選擇其他迭代器。

接下來就是把迭代器與工具串聯起來。首先,雙擊迭代器的六邊形為迭代器設置工作空間,即地理資料庫/GDB,或者文件夾目錄(例如
shapefile所在的目錄)。這樣,迭代器會在指定的工作空間遍歷要素類。刪除現有Project工具的輸入數據,將迭代器的輸出數據連接到
Project工具。

工具基本准備完畢,但是還差了重要的一步。目前,最後的輸出數據是常量,也就是說,即使前面的工具執行了N次,那結果都將被同名覆蓋。那麼,行內變數 就顯出用武之地了。

迭代器每次遍歷到一個要素類,會返回一個 Name,內容是當前要素類的名稱,這個Name就是行內變數。引用的方法就是使用百分號括起來,即 %Name% 。

輸出數據設置示例:

至此我們就完成了一次批量任務。

4 復用工具

如果我們以後想按照這個相同的需求處理數據,完全可以將其做成模型工具。將輸入數據和輸出數據設置為模型變數,我們就可以在「運行」狀態下使用。

設置方法,在需要作為參數方便後續修改的項目上右鍵,勾選 「模型參數」即可,然後項目的頭上頂了個「P」,( ̄▽ ̄)」。

將模型保存至工具箱後,雙擊運行工具。現在就可以把它當成「麵包機」,放入食材,等麵包即可。

5 注意事項

下面是些有用的提示,FYI:

每個模型僅可使用唯一一個迭代器。如果模型中已經存在一個迭代器,那麼用於添加迭代器的菜單就不可用了。這是限制之一。
如果將含有迭代器的模型導出為 Python 腳本,則導出的腳本中將不會包括迭代邏輯。這是限制之二。Python中有list函數,也可以實現類似的需求,但是需要重寫。
盡管Model可以嵌套調用,但是迭代器的嵌套循環邏輯不佳,不建議使用。如果需要實現嵌套循環,強烈建議使用python腳本。例如,實現遍歷工作空間內每個要素類中的每個要素(記錄)這樣的需求,可以使用 ArcPy中的函數 ListFeatureClasses 和 SearchCursor來實現。

❺ ArcGIS 應用Python中arcpy模塊

需要用Arcpy的代碼么?
應該不難,直接讀取欄位屬性就可以了。

❻ python for Arcgis的一段程序,始終調試不通,求助

點擊安裝License Manger,一路復next,當提示需要制許可文件時,選擇"I received the license by email..." ,然後單擊「browse」選擇剛才保存的licence文件,next到安裝完畢。選擇不重啟機器。 將crack目錄下的arcgis.exe拷貝覆蓋授權管理目錄(c:\program files\esri\license\arcgis9x)下的文件,然後重啟機器

❼ 怎樣用arcgis中的python進行批量投影

接到的需求是對文件夾下包括子目錄所有影像進行投影變換,在網上找了找,大家的代碼好像和需求不太一致,自己寫了一個小工具。

思路是遍歷文件夾所有.tif文件。

1.用os.walk()函數來獲取路徑和文件名

2.用 if 語句限制讀取後綴為.tif的文件

3.將文件路徑和文件名組合起來

4.調用arcpy.ProjectRaster_management語句投影變換並輸出

由於剛剛接觸python,難點主要在於os.walk()目錄的讀取這個函數的了解上。

以下是代碼

#coding=utf-8
importos
importarcpy
fromarcpyimport*

#定義一個函數,第一個參數是一個集合,用來接收所有.tif的路徑。第二個函數是指定的文件夾。
defhuoqu(jieshou,lujing):
fordirpath,dirnames,filenamesinos.walk(lujing):
forfilenameinfilenames:
ifos.path.splitext(filename)[1]=='.tif':
file1=dirpath+'\'+filename
jieshou.append(file1)

#這里變數的設置,GetParameterAsText函數來獲取對應在python工具箱中的位置
env.workspace=GetParameterAsText(0)
work=env.workspace
ref=GetParameterAsText(1)
tifz=[]

#調用自定義的函數
huoqu(tifz,work);

#對所有的影像進行循環投影變換,並且將輸出路徑設置為指定的文件夾+原本的名字
forfileintifz:
out=GetParameterAsText(2)+"/"+os.path.basename(file)
ProjectRaster_management(file,out,ref)

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

密碼:m6jz

❾ 如何用arcgis的python進行批處理

目前比較常見的批處理包含兩類:DOS批處理和PS批處理。PS批處理是基於強大的圖版片編輯軟體Photoshop的,用來權批量處理圖片的腳本;
而DOS批處理則是基於DOS命令的,用來自動地批量地執行DOS命令以實現特定操作的腳本。更復雜的情況,需要使用if、for、goto等命令控製程式的運行過程,如同C、Basic等高級語言一樣。如果需要實現更復雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟體。批處理程序雖然是在命令行環境中運行,但不僅僅能使用命令行軟體,任何當前系統下可運行的程序都可以放在批處理文件中運行。

❿ 怎麼用python開發arcgis

在Pyhton寫的一些代碼,用戶交互不方便,用戶體驗比較差,不方便重用。在ArcGIS中可以將用寫的Python代碼導入到ToolBox中,這樣用起來就比較方便了。這里用按要素裁剪柵格的Python來演示如何導入ArcGIS中。代碼如下:

import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import arcpy
import string
from arcpy.sa import *

try:
raster = arcpy.GetParameterAsText(0) #要裁剪的柵格
clip_feat = arcpy.GetParameterAsText(1) #裁剪要素類
field = arcpy.GetParameterAsText(2) #命名欄位
outworkspace = arcpy.GetParameterAsText(3) #命名欄位裁剪後輸出目錄

for row in arcpy.SearchCursor(clip_feat):
mask=row.getValue("Shape")
outPath=outworkspace+"\\"+str(row.getValue(field))
outExtractByMask = ExtractByMask(raster,mask)
outExtractByMask.save(outPath)

except arcpy.ExecuteError:
print arcpy.GetMessages() 在用戶工具箱中新建工具箱(在系統工具箱中不能新建),在工具箱右鍵,添加腳本;

輸入名稱、標簽、描述等信息。下一步,選擇腳本文件。(這里需要注意的是:一定要勾選"存儲相對路徑名"這個選項)

設置參數,這是最重要的一步。其中參數即代碼中GetParameterAsText(n),並選擇合適的數據類型,在參數屬性中也可以進行相關設置。如果輸出柵格名稱按裁剪要素中的某個欄位,需要設置"獲取息"屬性,還要進行過濾一下。

設置好一切參數過後,就可以來進行測試了。在本機上測試通!

接下來便是怎樣移植到其他電腦了的問題了。前面我說說過要存儲為相對路徑,否則,將報錯00576:腳本工具使用的腳本未處於所需位置。創建腳本工具時,有一個選項用於存儲相對路徑名(而不是絕對路徑名)。設置此選項後,腳本的相對位置和保存腳本工具的工具箱必須保持不變。執行工具時移動兩者中的任何一個都會出現此錯誤。

但改為相對路徑後,在其他電腦上也能正常運行,但彈出了警告窗口。原因是客戶機上沒有勾選擴展模塊相應的功能。這個示例需要勾選空間分析模板,因為使用了按掩膜提取這個工具。這個腳本實現的詳情參考:使用Python腳本批量裁切柵格

發布給他人,涉及到個人知識產權的問題,怎樣讓他人使用工具,又不能看到腳本代碼?如果編輯調試完成了,在腳本工具右鍵可導入腳本。

設置密碼後,即可。