模型構(gòu)建器中的字符串要手動(dòng)加引號(hào)D衣湾戳!
一弟劲、系統(tǒng)環(huán)境
- Windows 10 64bit(OS版本:1709)
- ArcGIS 10.2 Desktop
二、任務(wù)目標(biāo)
任務(wù)可以用如下圖表述:
- 有一些以Class_年份.tif格式命名的柵格圖層
- 需要將這些柵格圖層與斜坡單元矢量(該圖層一直保持不變)處理后镶摘,結(jié)果也按年份命名為:Zonst_年份
很簡(jiǎn)單的一個(gè)需求
三嗽桩、使用建模工具搭建流程
ArcGIS主菜單【地理處理】-【模型構(gòu)建器】,打開模型構(gòu)建器對(duì)話框凄敢。
3.1 解析路徑
(1)首先碌冶,需要將Class_2000.tif分解,將年份提取出來(lái)涝缝≈钟#可以使用解析路徑工具。方法是:模型構(gòu)建器對(duì)話框【插入】-【僅模型工具】-【解析路徑】
解析路徑工具并不是工具箱中的工具俊卤,而僅僅是建模工具中可用的工具。
(2) 然后害幅,創(chuàng)建一個(gè)變量消恍,作為模型的輸入圖層。這里選擇柵格圖層以现,因?yàn)榇幚淼臄?shù)據(jù)是柵格圖層狠怨。
(3)打開解析路徑處理單元,選擇剛才創(chuàng)建的變量邑遏,返回值選擇name(結(jié)果是Class_2000)
過(guò)程如下圖所示:
(4)解析路徑的結(jié)果是可以作為行內(nèi)變量使用的佣赖,即可以使用%變量名%的形式引用。所以记盒,我們將解析路徑的結(jié)果重命名為Value憎蛤。
3.2 計(jì)算值
這個(gè)工具,是用來(lái)對(duì)某些變量作一些計(jì)算的。解析路徑得到結(jié)果Class_2000后俩檬,其實(shí)只需要后面的:2000
所以萎胰,可以使用字符串切片功能,返回后面4個(gè)字符串棚辽。即s[-4:]
(1)模型構(gòu)建器對(duì)話框【插入】-【僅模型工具】-【計(jì)算值】
(2)打開計(jì)算值處理單元技竟,在代碼塊中輸入:
def getYear(s):
return s[-4:]
(3)在表達(dá)式中輸入:getYear("%Value%")
, 注意,%Value%的值是Class_2000屈藐,為了轉(zhuǎn)變?yōu)樽址谱椋仨氃谒饷嬖偌右粚右?hào),坑就在這里A摺4瓿丁!遣妥!擅编,字符串居然還要自己加引號(hào),我也是醉了箫踩!
(4)單擊確定爱态。由于提取年份數(shù)值的操作是必須有解析路徑的結(jié)果,即必須現(xiàn)有Value值境钟,才能提取后面4個(gè)字符嘛锦担!所以,在“計(jì)算值”處理單元上右鍵單擊慨削,【屬性】-【前提條件】洞渔,勾選“Value”值。 然后保存模型即可缚态。
3.3 添加地理處理工具:以表格顯示分區(qū)統(tǒng)計(jì)
剩下的事情就好辦了磁椒。添加【以表格顯示分區(qū)統(tǒng)計(jì)】到建模器,
設(shè)置相關(guān)參數(shù)玫芦。記得在輸出表中引用在【計(jì)算值】單元中得到的結(jié)果浆熔,引用方式是%變量名%。
具體操作如下: