freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

python腳本入門(mén)學(xué)習(xí)經(jīng)典手冊(cè)-在線瀏覽

2024-08-09 10:58本頁(yè)面
  

【正文】 下面例子簡(jiǎn)單體會(huì)一下布爾型表達(dá)式:x=1while x10: print x x=x+1表達(dá)式“x10”結(jié)果是true或false,所以這樣允許我們?cè)谟?jì)算完一種情況時(shí)運(yùn)行一系列代碼。while循環(huán)的一個(gè)優(yōu)點(diǎn)是允許我們跳過(guò)整個(gè)部分,如果條件不滿足初始情況。當(dāng)循環(huán)一個(gè)數(shù)據(jù)集時(shí)(GIS中很常用的工作)while循環(huán)很有用。for216。 下面的代碼創(chuàng)建并輸出指定文件夾內(nèi)shp文件名列表(每個(gè)都以‘.shp’結(jié)尾)import osws=c:/prog/hmbareailist=(ws)創(chuàng)建一個(gè)列表保存工作文件夾內(nèi)的文件fcs=[]創(chuàng)建一個(gè)空列表,保存結(jié)尾為‘.shp’的文件for i in ilist: if (.shp): (i)for fc in fcs:print fc(輸出結(jié)果如右圖所示)216。變量mu是算術(shù)平均數(shù),s是標(biāo)準(zhǔn)差——()用到的參數(shù),可以嘗試改變n的值查看結(jié)果!import randommu=50s=10z5=mus*z95=mu+s*count=0n=100000for i in range(n): x=(mu,s) if xz5 or xz95:count=count+1print float(count)/n(每次運(yùn)行的結(jié)果都不同,即統(tǒng)計(jì)結(jié)果在5%左右)6簡(jiǎn)單輸入和輸出我們現(xiàn)在利用前面計(jì)算太陽(yáng)角代碼的片段,之前是直接指定參數(shù)值,現(xiàn)在我們有很多種方法提供輸入?yún)?shù),現(xiàn)在我們用sys方法。Python1如何創(chuàng)建地理處理對(duì)象(geoprocessor object)所有g(shù)eoprocessing的Python腳本都可以通過(guò)import arcgisscripting或者win32去穿件geoprocessor object。import arcgisscriptinggp=()=”c:/Tongass”(“standb4”,”clipcov”,”standb4_clip”,”P(pán)OLY”.””)Dispatchimport gp=(“”)=”c:/Tongass”(“standb4”,”clipcov”,”standb4_clip”,”P(pán)OLY”.””)178。比如,特征數(shù)據(jù)可能是①單個(gè)shp文件;②geodatabase(地理數(shù)據(jù)庫(kù),我們可能指定地理數(shù)據(jù)庫(kù)為工作空間);③多邊形、弧或點(diǎn)要素的coverage數(shù)據(jù)。2獲取地理處理幫助如果你基本熟悉了Python的語(yǔ)法,便可以開(kāi)始熟悉ArcGIS的Geoprocessing啦,獲取這些方法幫助的途徑有兩個(gè):① ArcGIS幫助系統(tǒng),Go To Geoprocessing/Automating your work with scripts/Scripting object:Properites and Methods.這里你會(huì)看到Geoprocessor Object,這個(gè)能讓你很方便地獲得所有對(duì)你有用的條目、設(shè)置和其他操作文檔。② Geoprocessor Programming Model(PDF),包含方法(左箭頭表示)、屬性(可讀寫(xiě)的表示為杠鈴形,只讀的表示為部分杠鈴形):如何使用Geoprocessor Programming Model中的ListsLists(列表)及其屬性和方法在圖表中用紫色標(biāo)出,如下:現(xiàn)在我們?cè)囍帉?xiě)一段腳本列舉出屬性表中所有屬性值(Fields)(以hmbarea柵格土地利用為例,文件存在c:\prog\hmbarea下)import arcgisscripting, sysgp = () = c:/prog/hmbarea fieldList = (landuse, *, all)dsc=(landuse)print landuse+ ++:for field in fieldList:... print , (此時(shí)輸出結(jié)果如右圖)3使用地理處理工具——Toolboxes和Aliases總所周知,地理處理工具在腳本中的使用和ArcToolbox中相同,但是需要提供工具名稱來(lái)使用它們。區(qū)別是每個(gè)工具適用不同的數(shù)據(jù)類型,但是我們?nèi)绾卧谀_本中區(qū)分它們呢?在ArcToolbox中,我們可以隨意選擇要使用的工具,但在腳本里就必須在某些方面加以區(qū)分。每一個(gè)工具都有自己的別名,我們可以通過(guò)右鍵屬性來(lái)查看:AliaseToolbox“conversion”Conversion“3d”3D Analyst“geocoding”Geocoding“analysis”Analysis“ga”Geostatistical Analyst“arc”Coverage“l(fā)r”Linear Referencing“management”Data Management“sa”Spatial Analyst“cartography”Cartography“stats”Spatial Statistics現(xiàn)在我們用一段腳本來(lái)解釋:import arcgisscripting,sysgp=()=”c:/prog/hmbarea”=1 OverWriteOutput:Boolean,為1表示允許覆蓋已存在文件 將streams/arc轉(zhuǎn)換為shp文件(streams/arc, ) 利用轉(zhuǎn)換后的shp文件,做200米的緩沖(, , 200) 用做過(guò)緩沖的shp裁剪(, , )注:上面腳本用“”注釋的中文內(nèi)容不要出現(xiàn)在腳本文件中,否則會(huì)出現(xiàn)錯(cuò)誤結(jié)果截圖:如果你一次使用一個(gè)工具集中的若干工具,可以通過(guò)環(huán)境設(shè)置省下一些文字: = Analysis (, , 200) (, , )4在建模中使用腳本(Scripts in ModelBuilder)首先,需要記住的很重要的一點(diǎn)是,ArcToolbox里相當(dāng)數(shù)量的工具實(shí)際上都是腳本。比如,空間統(tǒng)計(jì)分析工具(Spatial Staistics tools)幾乎都是Python腳本(一些是模型中使用了腳本)。為了在ModelBuilder中使用腳本或?qū)⒛_本當(dāng)做ArcToolbox中工具使用,我們需要考慮如何給它輸入值以及讓其設(shè)置輸出值。編輯下面的腳本,不過(guò)不要再PythonWin中運(yùn)行之,因?yàn)間etparameterastext和setparameterastext只能用在腳本工具(ArcToolbox或Modelbuilder)中。每次你運(yùn)行這個(gè)工具時(shí),都會(huì)看到一個(gè)對(duì)話框,提示輸入?yún)?shù),這個(gè)方法允許你在接下來(lái)的程序中使用。setparameterastext:和getparameterastext相反,它傳遞第二個(gè)條目(比如str(sunangle)的值)給指定的輸出參數(shù)。然后,我們需要將腳本加進(jìn)工具(Making a script into a tool),那樣才能在ArcToolbox或ModelBuilder或Command line中使用。216。當(dāng)然也可以使用之前創(chuàng)建的toolbox。 在ArcToolbox里,右鍵toolbox,選添加scripts,填寫(xiě)如下圖:l 注意:腳本文件是一個(gè)腳本工具的參考!非常重要的一點(diǎn),你使用腳本創(chuàng)建了一個(gè)腳本工具,但是腳本本身并沒(méi)有和工具一起保存,腳本工具作為toolbox的一部分保存在“*.tbx”文件中。所以,記得移動(dòng)時(shí)將腳本工具文件和腳本本身一起拷貝。 現(xiàn)在可以運(yùn)行此toolbox了,對(duì)話框提示你輸入latitude和declination。那么,它是干什么的呢?還記得結(jié)果是輸出兩個(gè)數(shù)字參數(shù),那么,這些數(shù)字哪去了呢?很好的問(wèn)題,這僅能說(shuō)明你能創(chuàng)建一個(gè)工具,但是不能想ArcToolbox那樣運(yùn)行。216。216。216。打開(kāi)“Sun Angle”和“Azimuth”發(fā)現(xiàn)它們還是默認(rèn)值,說(shuō)明此腳本工具還沒(méi)有運(yùn)行。嘗試輸入latitude 70,declination ,你會(huì)得到什么?為什么?216。首先,添加hillshade工具,雙擊指定一個(gè)elevation柵格數(shù)據(jù)(這里我選擇了marbles文件夾下的elevation),用下拉條指定azimuth和altitude值為azimuth和sun angle。178。178。下表為腳本工具的參數(shù)設(shè)置:Display nameData typeTypeDirectionDefaultMonthLongRequiredInputDateLongRequiredInputLatitudeDoubleRequiredInputWorkspaceWorkspaceRequiredInputElevationRaster DatasetRequiredInputHillshadeStringRequiredInput代碼如下:import , sys, mathgp = ()函數(shù)定義,同上,下面僅給出函數(shù)名稱:def jdate(im, id):def declin(day): 主程序,[]代替getparameterastext()month = int([1])date = int([2])lat = float([3]) = [4]輸入時(shí)注意,路徑應(yīng)為反斜杠“\”elev = [5]hillsh = [6]給輸出hillshade指定文件名decl = declin(jdate(month, date))sunangle = 90 lat + declazimuth = 180if sunangle 90: sunangle = 180sunangle azimuth = 0(about to try)try: = 1 (after overwriteoutputs setting, + + / + hillsh) (spatial) ( + / + hillsh) (elev, + / + str(hillsh), azimuth, sunangle) (done with hillshade) (spatial)except: print () (()) (spatial)閱讀代碼發(fā)現(xiàn),第一個(gè)輸入?yún)?shù)不適用的getparameterastext(0),[1],這是因?yàn)間etparameterastext()方法只在工具中起作用,[]有同樣的效果,索引從1而不是0開(kāi)始,當(dāng)然,這需要首先引用sys模塊。嘗試輸入?yún)?shù)如下圖,得到右下結(jié)果:5 在PythonWin里調(diào)試地理處理腳本既然我們已經(jīng)認(rèn)真地學(xué)會(huì)了從Python中創(chuàng)建并運(yùn)行地理統(tǒng)計(jì)工具,那么現(xiàn)在需要考慮如何調(diào)試我們的程序了。當(dāng)一個(gè)地理處理工具運(yùn)行失敗后,我們需要從Pythonwin中得到一個(gè)豐富的消息,而不是“未知錯(cuò)誤”。216。比如,對(duì)之前的一段腳本加以修改:import arcgisscripting,sysgp=()=c:/prog/hmbarea=1(streams/arc, )=Analysis(, , 200)print Finished Cliping...(, , )可以看出成功運(yùn)行腳本!然而當(dāng)在工具中運(yùn)行時(shí),print語(yǔ)句不會(huì)產(chǎn)生錯(cuò)誤,但也不會(huì)輸出任何東西,因此,(Finished Cliping...)代替print語(yǔ)句。我喜歡的做法是定義一個(gè)‘sendmsg’函數(shù)來(lái)輸出消息:def sendmsg(msg): print msg (msg)….sendmsg(Finished Cliping...)216。如果在Pythonwin中運(yùn)行Buffer時(shí)出現(xiàn)錯(cuò)誤,比如輸入文件不存在等,只能看到“未知錯(cuò)誤”的提示,這就引出了GetMessage上的方便!現(xiàn)在我們要體驗(yàn)兩種調(diào)試技巧:①GetMessages地理處理方法;②Python語(yǔ)言的錯(cuò)誤處理程序:try…except。這些都可以在PythonWin的幫助系統(tǒng)里找到相關(guān)示例教程。以前面用過(guò)的太陽(yáng)角計(jì)算腳本為例,點(diǎn)擊運(yùn)行之后,在Debugg
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1