日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

arcmap中添加python脚本_基于Python脚本的ArcMap字段计算器分类赋值

發布時間:2025/3/15 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arcmap中添加python脚本_基于Python脚本的ArcMap字段计算器分类赋值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為出差等等緣由,又沒能很好的堅持記錄博客,今天回來了,繼續記錄所學吧。python

ArcMap中提供了“字段計算器工具”,實際上就是對Sql語句進行了可視化封裝,造成了一個具備計算器外觀的Sql語句編輯器窗口。利用字段計算器工具,咱們能夠直接在AacMap中針對圖層的屬性表進行數據的增刪改查等操做,從而避免了操做圖形的同時切換到Oracle、sqlserver、access等存儲介質中操做屬性表的麻煩。(之前批量處理數據時,采用的就是講數據導進mdb中,而后利用Access打開寫sql語句進行操做的方法,相比于字段計算器來講,麻煩的多)sql

字段計算器工具很方便,可是編輯起來交互不友好,并且python語法對于縮進要求很嚴格,這個編輯器也沒有智能縮進和代碼提示的功能,徹底要求編輯者在相似純記事本的狀態下進行編輯,必定要十分謹慎認真才能執行出想要的結果。下面咱們用具體事例來說解操做過程。編輯器

以下圖所示,函數

咱們有一個圖層,是關于一些兩棲類和爬行類動物的數據,咱們打開屬性表,能夠看到包含主鍵(OBJECTID),動物名稱(NAME),科名稱(FAMILY_NAME),目名稱(ORDER_NAME),數量等級(NUMBER_CLASS),生境(ENVIRONMENT)等字段,其中生境這列字段的值是空的,須要填寫,而這列值得內容和科名稱這一列有相關性關系;通常來講,同一科的動物,其生境相同,好比:“游蛇科”的生境都是“草樹叢”,“石龍子科”的生境都是“石壁、草叢”;這樣咱們就能夠根據不一樣的“科名稱”來對“生境”這一字段進行分類賦值。工具

一、選擇字段,打開字段計算器:sqlserver

首先打開圖層的屬性表,右擊鼠標選中“生境(ENVIRONMENT)”字段,選擇“字段計算器”選項并單擊打開,以下圖所示:測試

二、打開python代碼塊編輯器,編寫賦值函數:spa

咱們須要勾選上圖中的“顯示代碼塊”前的勾選框,這時會顯示出編寫代碼塊的區域,咱們同時要在最上面選擇Python腳本進行解析:咱們在代碼塊區域編寫一個帶返回值的函數,用來基于“科名稱(FAMILY_NAME)”這一字段進行分類,這個函數索性就叫“填充(Fill)”吧,它具備一個形參f,咱們進行分類的條件是科名稱的不一樣,因此編寫以下代碼:server

def Fill(f):blog

if f == u"游蛇科":

return "草樹叢"

elif f == u"石龍子科":

return "石壁、草叢"

而后在下面的填充值區域,也就是 ENVIRONMENT= ?下面的文本框中調用這個函數,只需寫出函數名Fill(),而后將光標移到括號中,在上面的字段列表中雙擊“FAMILY_NAME”這個字段就會顯示出完整的函數,并傳遞實參,不全的內容以下:Fill( !NUMBER_CLASS! ) ?(注意:括號中選擇的字段必定是基于分類的那個字段!)

完整的代碼截圖以下:

這時就獲得了咱們的計算結果,以下圖所示:

咱們還能夠繼續補充代碼,一次性列舉出所有分類條件,而后一次性執行進行所有分類賦值。

如何分類條件是空值,好比咱們要根據“科名稱(FAMILY_NAME)”這一列中的 處的這些值統一對某列字段賦值,要如何編寫代碼呢?通過測試發現,凡是記錄中為的這些地方,其值是None 而不是 Null, 因此賦值條件應該寫成 if f == None:

注意:

一、python語法嚴格依賴縮進,在此代碼邊繼快中,統一用英文狀態兩個字符縮進進行書寫,不然報錯。

二、當分類條件的字段中記錄為中文的地方,須要在中文字符串前面加上U 來進行轉碼,不然會致使不能識別條件從而使要填充的字段計算結果永遠是空值。

三、記錄中為 的地方,若是想用這些地方的值做為分類條件,條件語句要寫成 if f == None:

總結

以上是生活随笔為你收集整理的arcmap中添加python脚本_基于Python脚本的ArcMap字段计算器分类赋值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。