国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ArcGIS|一文徹底搞懂GIS圖斑編號(hào)

這篇具有很好參考價(jià)值的文章主要介紹了ArcGIS|一文徹底搞懂GIS圖斑編號(hào)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

實(shí)際工作中,經(jīng)常會(huì)有對(duì)各類圖斑進(jìn)行編號(hào)的需求。數(shù)據(jù)中圖斑數(shù)比較少時(shí),我們可以手動(dòng)進(jìn)行編號(hào),但數(shù)據(jù)量較大時(shí)就必須得想辦法自動(dòng)實(shí)現(xiàn)圖斑編號(hào)。今天,將分享幾種常見(jiàn)的圖斑自動(dòng)編號(hào)方式,主要包括:圖斑順序編號(hào)、按字段屬性分類編號(hào)、按圖斑四至位置編號(hào)、分級(jí)編號(hào)、指定位數(shù)編號(hào)、加前綴編號(hào)等多種編號(hào)方法。

由于將要介紹的方法大多數(shù)都用到ArcGIS屬性表中的【字段計(jì)算器】,因此先對(duì)【字段計(jì)算器】做一簡(jiǎn)單介紹。

一、字段計(jì)算器介紹

在左側(cè)菜單欄任一要素類或者表上右擊【打開(kāi)屬性表】,再找到要計(jì)算的字段上右擊【字段計(jì)算器】,即可打開(kāi)字段計(jì)算器。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

打開(kāi)【字段計(jì)算器】后頁(yè)面如下圖所示:

1是選擇腳本語(yǔ)言,默認(rèn)是VB語(yǔ)言,可以改成Python語(yǔ)言;2是要素字段名,雙擊會(huì)在3和4的代碼里顯示;3是代碼框,勾選【顯示代碼塊】就會(huì)出現(xiàn),用于編寫(xiě)多行的簡(jiǎn)單腳本。4主代碼框,用于簡(jiǎn)單的代碼或字段運(yùn)算。右邊是常用函數(shù),雙擊即可使用,可用于字段屬性字符串切片[:]、大小寫(xiě)轉(zhuǎn)換.isupper()、字符串補(bǔ)齊.zfill()等。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

二、圖斑編號(hào)

1.按圖斑順序編號(hào)

最簡(jiǎn)單的編號(hào)就是按圖斑順序依次編號(hào),一種是可以借助現(xiàn)有的編號(hào)字段,比如FID進(jìn)行字段運(yùn)算獲得編號(hào),另外一種便是通過(guò)編寫(xiě)簡(jiǎn)單代碼的方式進(jìn)行編號(hào)。先看第一種,我們添加一個(gè)BH字段,然后打開(kāi)字段計(jì)算器,切換到Python語(yǔ)言,然后雙擊FID字段再加1(FID編號(hào)從0開(kāi)始)。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

計(jì)算完成后,BH字段里面就有了編號(hào)。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

? ? ? 接下來(lái),我們通過(guò)編寫(xiě)簡(jiǎn)易代碼的方式來(lái)實(shí)現(xiàn)編號(hào)。同樣打開(kāi)字段計(jì)算器,切換到Python語(yǔ)言,顯示代碼塊,在里面編寫(xiě)編號(hào)函數(shù),然后在下面進(jìn)行函數(shù)調(diào)用,同樣可以實(shí)現(xiàn)上面的效果。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

完整編號(hào)函數(shù)代碼如下,在字段計(jì)算器代碼塊里面輸入時(shí)要注意空格,否則容易報(bào)錯(cuò)。溫馨提示:可以通過(guò)點(diǎn)擊【保存】按鈕將當(dāng)前函數(shù)保存成.cal的函數(shù)文件,下次使用時(shí)點(diǎn)擊【加載】按鈕便可直接調(diào)用。

 1 rec=0
 2 def?autoIncrement():
 3??global?rec
 4??pStart?=?1?
 5??pInterval?=?1?
 6??if?(rec?==?0):?
 7????rec?=?pStart?
 8??else:?
 9????rec?=?rec?+?pInterval
10??return?re

這樣我們便實(shí)現(xiàn)了簡(jiǎn)單的順序編號(hào),但有時(shí)候我們需要編號(hào)數(shù)字位數(shù)保持一致,例如:0001、0299這樣都是四位數(shù)。這就需要用到Python字符串函數(shù).zfill(n)。函數(shù)功能:返回長(zhǎng)度為n的字符串,原字符串右對(duì)齊,前面填充0。

下面,我們以生成5位數(shù)編號(hào)舉例。在BH字段名稱上右擊打開(kāi)字段計(jì)算器,切換到Python語(yǔ)言,先選擇并雙擊BH字段,再選擇并雙擊.zfill()函數(shù),輸入函數(shù)參數(shù)5,就形成!BH!.zfill(5)代碼,表示BH字段字符串向左保留為5位。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

點(diǎn)擊確定,計(jì)算完成后生成的結(jié)果如下:

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

同樣的,如果需要在編號(hào)前面再加其他字母等信息,直接在編號(hào)前面添加即可。比如5位編號(hào)前面加“SM”,為“SM00001”,代碼為:"SM"+ !BH!,要注意為英文雙引號(hào)。另外,也可以通過(guò)修改上面編號(hào)函數(shù)代碼的方式實(shí)現(xiàn)。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

2按字段類型編號(hào)

有時(shí)候,我們?cè)诰幪?hào)時(shí)需要按照?qǐng)D層中某一字段屬性類型對(duì)要素進(jìn)行編號(hào)。比如在衛(wèi)片圖斑中,我們需要按鄉(xiāng)鎮(zhèn)對(duì)圖斑進(jìn)行編號(hào),每個(gè)鄉(xiāng)鎮(zhèn)都從0開(kāi)始編號(hào)。同樣可以在字段計(jì)算器中采取Python腳本的方式進(jìn)行實(shí)現(xiàn)。我們定義一個(gè)isDuplicateIndex(inValue)函數(shù),然后調(diào)用即可,同時(shí)讓編號(hào)按3位數(shù)對(duì)齊。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

完整Python代碼:

UniqueDict?=?{}
def?isDuplicateIndex(inValue):
????UniqueDict.setdefault(inValue,0)
????UniqueDict[inValue]?+=?1
????return?UniqueDict[inValue]

計(jì)算后結(jié)果如下:

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

3按圖斑四至編號(hào)

有時(shí)候,為了工作方便我們需要按照?qǐng)D斑四至位置,按照從左到右、從上到下的順序給圖斑進(jìn)行編號(hào)。按照四至位置編號(hào),首先需要按照上述排序方式對(duì)圖斑進(jìn)行重新排序,然后依次編號(hào)即可。

首先,需要給大家簡(jiǎn)單介紹一下幾個(gè)字段計(jì)算器中常用的Python語(yǔ)法:

!shape.area!:圖斑要素面積;
!shape.length!:圖斑要素周長(zhǎng)。
!shape.extent.Xmin!:圖斑要素最小外包矩形的左上角X坐標(biāo);
!shape.extent.XMax!:圖斑要素最小外包矩形的右下角X坐標(biāo);
!shape.extent.Ymax!:圖斑要素最小外包矩形的左上角Y坐標(biāo);
!shape.extent.YMin!:圖斑要素最小外包矩形的右下角Y坐標(biāo);

具體操作步驟如下:

第一步:給圖層添加X(jué)min和Ymax兩個(gè)字段。字段添加后,在字段計(jì)算器中基于Python語(yǔ)法:!shape.extent.Xmin!和!shape.extent.Ymax!分別計(jì)算出Xmin和Ymax坐標(biāo)。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

第二步:在【數(shù)據(jù)管理】模塊下的【常規(guī)】工具集中找到【排序】工具進(jìn)行圖斑排序。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

排序規(guī)則:從上到下排序意思就是沿縱軸從上到下排序,所以排序字段Ymax在前面降序排列,從左到右排序意思就是沿橫軸從左到右排序,所以排序字段Xmin在后面升序排列,從而保證數(shù)據(jù)按從上到下,從左到右的順序排列。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

第三步:排序后會(huì)生成一個(gè)新的要素圖層,給新圖層添加編號(hào)字段,然后運(yùn)用上面順序編號(hào)的代碼給圖斑依次編號(hào)就可了。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

計(jì)算完成后我們要的四至編號(hào)就成功實(shí)現(xiàn)了,如下圖所示:

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

需要說(shuō)明的是,這塊沒(méi)有使用質(zhì)心坐標(biāo)是因?yàn)閳D斑形狀很長(zhǎng)或很寬時(shí),會(huì)因?yàn)橘|(zhì)心的位置導(dǎo)致排序位置偏后。為了避免這種情況,采取Xmin和Ymax進(jìn)行排序。

4圖斑分級(jí)別號(hào)

實(shí)際工作中,有時(shí)候需要根據(jù)某字段屬性值大小劃分不同的等級(jí)進(jìn)行編號(hào)或賦值,所謂圖斑分級(jí)編號(hào)。比如:按照?qǐng)D斑面積劃分不同的等級(jí),相同等級(jí)的圖斑賦相同的編號(hào)或其他屬性值。

我們以面積大小為例,采取自定義Python函數(shù)的方式演示一下如何進(jìn)行分級(jí)編號(hào)。自定義編號(hào)函數(shù):按照要素面積大小,將面積小于2000平方米的圖斑編號(hào)為1,大于2000小于3000平方米的為2,以此類推。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

完整的函數(shù)代碼如下:

def bianhao(value):
  bh = ""
  if value <= 2000:
    bh = 1
  elif 2000 < value <= 3000:
    bh = 2
  elif 3000 < value <= 4000:
    bh = 3
  elif 4000 < value <= 5000:
    bh = 4
  else:
    bh = 5
  return str(bh).zfill(3)

函數(shù)調(diào)用字段為面積字段,計(jì)算后結(jié)果如下,圖斑已經(jīng)按照面積大小進(jìn)行了編號(hào)。

arcgis圖斑編號(hào)怎么顯示,ArcGIS,arcgis,python

另外,有種笨辦法不用寫(xiě)代碼也能實(shí)現(xiàn)分級(jí)編號(hào)。還是以面積為例:首先對(duì)面積進(jìn)行升序或降序排序,然后手動(dòng)選中面積小于2000平方米的所有圖斑,再手動(dòng)將編號(hào)賦值為1,以此類推。當(dāng)然,數(shù)據(jù)量大時(shí)就不太方便了。

以上。如有問(wèn)題,歡迎關(guān)注我的G*Z*H:爬蟲(chóng)與地理信息。

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-676214.html

到了這里,關(guān)于ArcGIS|一文徹底搞懂GIS圖斑編號(hào)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ArcGIS學(xué)習(xí)(八)基于GIS平臺(tái)的控規(guī)編制辦法

    ArcGIS學(xué)習(xí)(八)基于GIS平臺(tái)的控規(guī)編制辦法

    上一任務(wù)我們學(xué)習(xí)了”如何進(jìn)行圖片數(shù)據(jù)的矢量化?\\\" 這一關(guān)我們來(lái)學(xué)習(xí)一個(gè)比較簡(jiǎn)單的案例一一”如何在ArcGIS中錄入控規(guī)指標(biāo),繪制控規(guī)圖紙?\\\" 首先,先來(lái)看看這個(gè)案例的分析思路以及導(dǎo)入CAD格式的控規(guī)圖紙。 接著,來(lái)看看如何錄入控規(guī)地塊的各項(xiàng)指標(biāo),包括地塊用地面

    2024年02月21日
    瀏覽(86)
  • 解讀GIS軟件:從ArcGIS到山海鯨可視化的全方位介紹

    解讀GIS軟件:從ArcGIS到山海鯨可視化的全方位介紹

    在現(xiàn)代社會(huì), 地理信息系統(tǒng)(GIS) 的應(yīng)用已經(jīng)滲透到了各個(gè)領(lǐng)域,為我們提供了豐富的地理數(shù)據(jù)分析和可視化工具。下面介紹幾款常見(jiàn)的GIS工具軟件,一起來(lái)了解它們的特點(diǎn)和優(yōu)勢(shì)。 1. ArcGIS: ? ArcGIS由Esri公司開(kāi)發(fā),是全球領(lǐng)先的 商業(yè)GIS軟件 。它提供了強(qiáng)大的數(shù)據(jù)處理、分

    2024年02月11日
    瀏覽(94)
  • GIS雜記(二):Arcgis對(duì)采樣點(diǎn)進(jìn)行裁剪,獲取指定區(qū)域內(nèi)的采樣點(diǎn)

    GIS雜記(二):Arcgis對(duì)采樣點(diǎn)進(jìn)行裁剪,獲取指定區(qū)域內(nèi)的采樣點(diǎn)

    ????有時(shí)候需要對(duì)柵格數(shù)據(jù)進(jìn)行采樣處理,如果采樣點(diǎn)過(guò)多則會(huì)使得采樣時(shí)間過(guò)長(zhǎng),今天在進(jìn)行數(shù)據(jù)采樣時(shí),使用了1km*1km的漁網(wǎng)建立的采樣點(diǎn),大概有1百萬(wàn)個(gè)點(diǎn),程序運(yùn)行時(shí)間大概4個(gè)小時(shí),但是其中有絕大部分?jǐn)?shù)據(jù)都是空值或者是不需要的數(shù)據(jù),因此可以對(duì)采樣點(diǎn)數(shù)據(jù)

    2024年02月13日
    瀏覽(101)
  • 金倉(cāng)數(shù)據(jù)庫(kù) KingbaseES V8 GIS數(shù)據(jù)遷移方案(3. 基于ArcGIS平臺(tái)的數(shù)據(jù)遷移到KES)

    金倉(cāng)數(shù)據(jù)庫(kù) KingbaseES V8 GIS數(shù)據(jù)遷移方案(3. 基于ArcGIS平臺(tái)的數(shù)據(jù)遷移到KES)

    本章主要介紹基于ArcGIS/GeoScene 平臺(tái)的兩種數(shù)據(jù)遷移方案,首先是基于KDTS的遷移,主要應(yīng)用在數(shù)據(jù)圖層較多且數(shù)據(jù)體量巨大的情況,另一種為利用ArcGIS/GeoScene 平臺(tái)的異構(gòu)數(shù)據(jù)庫(kù)遷移,主要是一些少量圖層或者小數(shù)據(jù)量的遷移需求。 3.1.1.?KDTS遷移步驟 下面講述通過(guò)KDTS工具完成

    2024年02月13日
    瀏覽(294)
  • 一文徹底搞懂JSON數(shù)據(jù)

    一文徹底搞懂JSON數(shù)據(jù)

    什么是JSON,為什么需要JSON,JSON的3種形式,JSON常用的方法等 TIP JSON指的是全稱是:javascript對(duì)象表示法 JSON是Ajax發(fā)送和接收數(shù)據(jù)的一種格式 JSON是一種輕量級(jí)的數(shù)據(jù)交互格式, 其為字符串類型 (面試題會(huì)考到) JSON是一種語(yǔ)法,用來(lái)序列化對(duì)象、數(shù)組、數(shù)值、字符串、布爾值和

    2024年02月06日
    瀏覽(29)
  • 【算法】一文徹底搞懂ZAB算法

    【算法】一文徹底搞懂ZAB算法

    最近需要設(shè)計(jì)一個(gè)分布式系統(tǒng),需要一個(gè)中間件來(lái)存儲(chǔ)共享的信息,來(lái)保證多個(gè)系統(tǒng)之間的數(shù)據(jù)一致性,調(diào)研了兩個(gè)主流框架Zookeeper和ETCD,發(fā)現(xiàn)都能滿足我們的系統(tǒng)需求。 其中ETCD是K8s中采用的分布式存儲(chǔ),而其底層采用了RAFT算法來(lái)保證一致性,之前已經(jīng)詳細(xì)分析了Raft算法

    2024年02月02日
    瀏覽(24)
  • 一文徹底搞懂ssh的端口轉(zhuǎn)發(fā)

    一文徹底搞懂ssh的端口轉(zhuǎn)發(fā)

    端口轉(zhuǎn)發(fā)是突破網(wǎng)絡(luò)域隔離的一個(gè)手段。在學(xué)習(xí)這個(gè)知識(shí)的時(shí)候需要不斷自問(wèn) 為什么需要端口轉(zhuǎn)發(fā)? 應(yīng)用場(chǎng)景是什么呢? SSH 隧道或 SSH 端口轉(zhuǎn)發(fā)可以用來(lái)在 客戶端和服務(wù)器之間建立一個(gè)加密的 SSH 連接 如下圖,通過(guò)它來(lái)把本地流量轉(zhuǎn)發(fā)到服務(wù)器端,或者把服務(wù)器端流量轉(zhuǎn)發(fā)

    2023年04月22日
    瀏覽(22)
  • 一文徹底搞懂Maven配置(終結(jié)版)

    下載安裝 提示:安裝之前需要先確認(rèn)好自己需要哪個(gè)版本的maven,避免浪費(fèi)時(shí)間。 官網(wǎng)下載:https://maven.apache.org/download.cgi 歷史版本下載:https://archive.apache.org/dist/maven/maven-3/ maven配置setting.xml localRepository 該值表示構(gòu)建系統(tǒng)本地倉(cāng)庫(kù)的路徑 interactiveMode 表示maven是否需要和用

    2024年02月04日
    瀏覽(20)
  • 一文徹底搞懂流水線加法器

    一文徹底搞懂流水線加法器

    目錄 1.流水線加法器應(yīng)用場(chǎng)景 2.流水線加法器本質(zhì)原理(與普通加法器區(qū)別) 3.流水線加法器實(shí)現(xiàn) 4.流水線加法器代碼Verilog代碼實(shí)現(xiàn) 首先最重要的是明白我們流水線加法器是什么,我們其實(shí)對(duì)于流水線其實(shí)并不陌生,我們常??梢月?tīng)到說(shuō)工廠中存在流水線,他是一種工業(yè)上

    2024年02月08日
    瀏覽(78)
  • 一文徹底搞懂Kafka如何保證消息不丟失

    一文徹底搞懂Kafka如何保證消息不丟失

    Producer:生產(chǎn)者,發(fā)送消息的一方。生產(chǎn)者負(fù)責(zé)創(chuàng)建消息,然后將其發(fā)送到 Kafka。 Consumer:消費(fèi)者,接受消息的一方。消費(fèi)者連接到 Kafka 上并接收消息,進(jìn)而進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理。 Consumer Group:將多個(gè)消費(fèi)者組成一個(gè)消費(fèi)者組,一個(gè)消費(fèi)者組可以包含一個(gè)或多個(gè)消費(fèi)者。

    2024年04月22日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包