arcgispython腳本
㈠ 關於arcgis的python腳本編程, shape文件出png圖片問題
1、點類型的轉柵格:
PointToRasterexample1(Python
window)
.
importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PointToRaster_conversion("ca_ozone_pts.shp","ELEVATION",
"c:/output/ca_elev","MAXIMUM","",2000)
PointToRasterexample2
(stand-alonescript)
.
#Name:PointToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo
#Importsystemmoles
importarcpy
fromarcpyimportenv
#Setenvironmentsettings
env.workspace="C:/data"
#Setlocalvariables
inFeatures="ca_ozone_pts.shp"
valField="ELEVATION"
outRaster="c:/output/ca_elev02"
assignmentType="MAXIMUM"
priorityField=""
cellSize=2000
#ExecutePointToRaster
arcpy.PointToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)
2、面類型的轉柵格:
PolygonToRasterexample1
(Pythonwindow)
.
importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PolygonToRaster_conversion("ca_counties.shp","NAME",
"c:/output/ca_counties.img",
"MAXIMUM_AREA","MALES",0.25)
PolygonToRasterexample2
(stand-alonescript)
.
#Name:PolygonToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo
#Importsystemmoles
importarcpy
fromarcpyimportenv
#Setenvironmentsettings
env.workspace="C:/data"
#Setlocalvariables
inFeatures="ca_counties.shp"
valField="NAME"
outRaster="c:/output/ca_counties"
assignmentType="MAXIMUM_AREA"
priorityField="MALES"
cellSize=0.5
#ExecutePolygonToRaster
arcpy.PolygonToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)
3、線類型轉柵格
PolylineToRasterexample1
(Pythonwindow)
.
importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PolylineToRaster_conversion("roads.shp","CLASS","c:/output/roads.img",
"MAXIMUM_COMBINED_LENGTH","LENGTH",30)
PolylineToRasterexample2
(stand-alonescript)
.
#Name:PolylineToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo
#Importsystemmoles
importarcpy
fromarcpyimportenv
#Setenvironmentsettings
env.workspace="C:/data"
#Setlocalvariables
inFeatures="roads.shp"
valField="CLASS"
outRaster="c:/output/roads.tif"
assignmentType="MAXIMUM_COMBINED_LENGTH"
priorityField="LENGTH"
cellSize=30
#ExecutePolylineToRaster
arcpy.PolylineToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)
㈡ 向精通ArcGIS——python腳本開發的同學請教
上段代碼運行出錯就是因為程序認為No是個字元串啊,把No直接改成1運行沒有問題 Traceback (most recent call last): File "C:\Documents and Settings\Administrator\桌面\a.py", line 18, in select("XYSheet1.shp","XYSheet1_Select1.shp","\"礦區編號\" =No") File "C:\Documents and Settings\Administrator\桌面\a.py", line 16, in select arcpy.Select_analysis(in_features, out_feature_class, where_clause) File "E:\ArcGIS\Desktop10.0\arcpy\arcpy\analysis.py", line 88, in Select raise eExecuteError: ERROR 999999: 執行函數時出錯。指定了不存在的列。指定了不存在的列。執行(Select)失敗。
㈢ 怎麼用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腳本批量裁切柵格
發布給他人,涉及到個人知識產權的問題,怎樣讓他人使用工具,又不能看到腳本代碼?如果編輯調試完成了,在腳本工具右鍵可導入腳本。
設置密碼後,即可。
㈣ arcgis中腳本如何看源代碼
aml文件直接用記事本打開。
vba直接在arcmap中,在工具條上右鍵單擊,查看源代碼即可。
python文件的源文件是*.py,直接用記事本打開。
toolbox裡面也有一些工具是python的腳本,可以看源代碼的。
有一些是封裝過的無法看源代碼。
㈤ 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