• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于林地“一張圖”的小班自動編號探究

      2021-03-10 07:46:36普紹林
      林業(yè)調(diào)查規(guī)劃 2021年1期
      關(guān)鍵詞:一張圖周界縱坐標

      普紹林

      (易門縣十街鄉(xiāng)林業(yè)工作站,云南 易門 651100)

      ArcGIS軟件已廣泛應用于林業(yè)行業(yè),在繪制好林業(yè)調(diào)查面層矢量數(shù)據(jù)后,一般按照從上到下,從左到右進行小班編號。現(xiàn)階段小班編號的方法較多,也有許多小班編號工具,但對于極少數(shù)小班周界橫坐標最小值與縱坐標最大值相等時或者縱坐標相等時會產(chǎn)生小班編號錯誤,目前對小班編號不準確的研究相對較少。本文針對小班編號不準確問題結(jié)合小班排序編號實例進行探究,以某縣林地一張圖(Shapefile格式,以下簡稱一張圖)為數(shù)據(jù),以ArcGIS 10.2浮動版為平臺,用Python語言編寫簡單的語句,求算小班周界折點橫坐標最小值與縱坐標最大值,利用查找相同的工具制作表比較橫坐標最小值、縱坐標最大值是否相等,采用Excel 2010函數(shù)countif自動進行小班編號,以VBScript語言編寫字符串函數(shù)left表達式格式化小班號進行探究。

      1 查找相同的記錄工具的定義及用法

      如果選定的輸入字段值與這些記錄值相同,則這些記錄為相同記錄??蓪斎霐?shù)據(jù)集中多個字段的值進行比較。如果指定了多個字段,則記錄將首先按第一個字段中的值進行匹配,然后按第二個字段的值進行匹配,依此類推。

      如果在輸出表中僅需要重復的記錄,則選中僅輸出重復記錄參數(shù)。如果未選中此參數(shù)(默認),則輸出的記錄數(shù)與輸入數(shù)據(jù)集的記錄數(shù)相同。

      輸出表含有2個字段:IN_FID 和 FEAT_SEQ。注意輸出表只能保存在地理數(shù)據(jù)庫中。

      IN_FID 字段可用于將輸出表的記錄連接到輸入數(shù)據(jù)集。

      相同的記錄具有相同的 FEAT_SEQ 值,而不相同的記錄具有順序值。FEAT_SEQ 值與輸入記錄 ID 無關(guān)。

      2 Excel 2010函數(shù)countif的定義及用法

      countif(要計數(shù)的單元格范圍,計算條件):對區(qū)域中滿足某個指定條件的單元格進行計數(shù)。計算條件,其形式可以是數(shù)字、條件或文本。

      用圖層屬性表Excel進行小班編號時,用Excel函數(shù)countif可實現(xiàn)按林班分組自動編小班號,編完一個林班再編另一個林班。在編號前按林班號升序、y降序、x升序、順序值升序等排序。小班自動編號時在編號(小班號)所在列第二單元格輸入公式:“=countif (c$2:c2,c2)”。輸入引號中的內(nèi)容,回車。雙擊或下拉復制公式,統(tǒng)計第幾次重復次數(shù),即為編號(小班號)自動編號的值。式中c$2為林班號所在列第2單元格,相對行引用,c2,c2為林班號所在列第2單元格。

      華覺明:在國內(nèi),有一種將工藝美術(shù)代替?zhèn)鹘y(tǒng)工藝的傾向。其實,工藝美術(shù)只是傳統(tǒng)工藝的一部分,在傳統(tǒng)工藝的十五個部類中,有八類是工藝美術(shù)。在陶瓷行業(yè)中,生產(chǎn)得更多的是日用品,土布生產(chǎn)出來在日常生活中使用,這些都不是藝術(shù)品。一直以來,由工藝美術(shù)行業(yè)代表中國參加國際手工藝理事會,這種情況應當有所改變。工藝美術(shù)行業(yè)制作的是帶有藝術(shù)性的產(chǎn)品,但不是手工藝產(chǎn)品的全部。

      3 小班編號原理

      面層小班按從上到下、從左到右編號,可按面層小班周界(折點)橫坐標最小值及縱坐標最大值排序編號。在Arcmap字段計算器窗口中用Python語言分別輸入x=“!Shape.extent.xmin!”,y=“!Shape.extent.ymax!”語句(引號中內(nèi)容),分別求算小班周界折點的橫坐標最小值(x)和縱坐標最大值(y),再用查找相同的工具制作表查看表中是否存在橫坐標最小值與縱坐標最大值相等的情況。存在3種情況:(1)橫坐標最小值與縱坐標最大值不相等;(2)相鄰小班橫坐標最小值與縱坐標最大值相等;(3)不相鄰小班橫坐標最小值與縱坐標最大值相等。

      橫坐標最小值與縱坐標最大值相等的相鄰小班是用同一個折點求算的橫坐標最小值、縱坐標最大值,橫坐標最小值與縱坐標最大值相等的不相鄰小班不是用同一個折點求算的。如果表中存在橫坐標最小值與縱坐標最大值相等的情況,排序時按橫坐標最小值、縱坐標最大值等排序,小班編號時相鄰幾個小班可能不會嚴格按照從左到右的順序編號。相鄰小班橫坐標最小值與縱坐標最大值相等時,可將圖層與表連接(連接字段選擇FID與IN_FID),在橫坐標最小值與縱坐標最大值相等的相鄰小班屬性表順序值字段中輸入從左到右順序值,如1、2、3等,排序時用橫坐標最小值、縱坐標最大值、順序值字段等參與排序,再編小班號,可以解決極少數(shù)小班號編號未嚴格按照從左到右、從上到下編號的問題。不相鄰小班橫坐標最小值與縱坐標最大值相等時和不存在橫坐標最小值與縱坐標最大值相等時,不需要將圖層與表連接,不需要在順序值字段輸入順序值。

      小班編號可采用導出圖層屬性表,將圖層屬性表排序后,用Excel函數(shù)countif將圖層屬性表Excel按林班自動分組編小班號,編完一個林班再編另一個林班,再將編好小班號的圖層屬性表Excel用FID與圖層(FID字段)連接,用這種方式編小班號字段類型為長整型,小班號如“1”,“10”,“100”等,可用VBScript 語言“字段計算器”中字符串函數(shù)left格式化小班號,如“00001”,“00010”,“00100”等。由于橫坐標最小值與縱坐標最大值相等的情況極少,也可以用橫坐標最小值、縱坐標最大值參與排序,在編好小班號后,用查找相同的工具制作表,打開表查看是否存在橫坐標最小值與縱坐標最大值相等的情況,如果存在橫坐標最小值與縱坐標最大值相等的情況(表中IN_FID與圖層中FID值相等),打開圖層屬性表,很快可以找到橫坐標最小值與縱坐標最大值相等的相鄰小班,可標注好小班號后再手動修改小班號。

      4 操作步驟

      1)新建字段

      打開Arcmap,加載一張圖,添加x(雙精度型,默認)字段,y(雙精度型,默認)字段,順序值(長整型,默認)字段,編號(長整型,默認)字段,原已有小班號(字符串)字段。

      2)計算橫坐標最小值、縱坐標最大值

      打開圖層屬性表,右鍵單擊x字段,打開字段計算器窗口,單擊選擇字段計算器,勾選Python,勾選整型,英文狀態(tài)輸入!Shape.extent.xmin!,確定,計算小班周界橫坐標最小值(圖1)。

      同理,右鍵單擊y字段,輸入!Shape.extent.ymax!,計算小班周界縱坐標最大值。

      3)用查找相同的工具制作表查看橫坐標最小值、縱坐標最大值是否相等

      在數(shù)據(jù)管理工具常規(guī)中打開查找相同的工具,輸入數(shù)據(jù)集選擇一張圖,輸出數(shù)據(jù)集保存在地理數(shù)據(jù)庫中,選擇x、y字段,選擇僅輸出重復記錄(圖2)。

      在內(nèi)容列表中右鍵單擊查找相同的工具生成的表,選擇打開,查看是否存在橫坐標最小值與縱坐標最大值相等的情況(圖3,圖4)。

      4)一張圖與表連接,順序值字段賦值

      相鄰小班橫坐標最小值與縱坐標最大值相等時,用一張圖(FID字段)與用查找相同的工具生成的表(IN_FID字段)連接,再導出圖層。在導出的一張圖橫坐標最小值與縱坐標最大值相等的相鄰小班屬性表順序值字段中輸入順序值,在橫坐標最小值與縱坐標最大值相等的不相鄰小班屬性表順序值字段中不輸入順序值。

      圖1 計算小班周界橫坐標最小值界面

      圖2 查找相同的工具制作表界面

      圖3 橫坐標最小值與縱坐標最大值不相等界面

      圖4 橫坐標最小值與縱坐標最大值相等界面

      5)在一張圖屬性表Excel表中用Excel 函數(shù)countif自動進行小班編號。

      導出一張圖屬性表Excel,先排序,再用Excel 函數(shù)countif自動進行小班編號。

      6)一張圖與一張圖屬性表Excel連接

      用導出的一張圖(FID字段)與一張圖屬性表Excel(FID字段)連接,字段計器,林地一張圖.編號= [林地一張圖_TableToExcel$.編號]。

      7)格式化小班號

      本操作步驟中編號格式為“1”,“10”,“100”等,而實際林業(yè)調(diào)查小班號為文本型,如果小班號的固定位數(shù)是5位,那么小班號應為“00001”,“00010”,“00100”等。序號前面補的“0”位數(shù)是變化的??捎肰BScript語言 “字段計算器”中字符串函數(shù)left實現(xiàn),即可用字段計算器格式化小班號。其表達式為小班號=left("00000",5-len([編號]))& ([編號]),式中編號(長整型),小班號(字符串)(圖5)。

      8)手動修改小班號錯誤

      由于小班號錯誤的情況極少,可手動修改小班號錯誤??捎脵M坐標最小值、縱坐標最大值參與排序編小班號。編好小班號后,標注小班號,用查找相同的工具制作表查看是否存在橫坐標最小值與縱坐標最大值相等,如果存在相等,橫坐標最小值與縱坐標最大值相等的相鄰小班編號可能會出現(xiàn)錯誤,根據(jù)表IN_FID值和圖層FID值在圖層屬性表中選中,根據(jù)小班號標注判斷小班編號是否錯誤,再手動修改編號錯誤的小班號。

      5 結(jié)論

      用ArcGIS10.2 Python簡單的語句求算面層小班周界橫坐標最小值、縱坐標最大值,在查找相同的工具制作表中,圖層與表連接,在橫坐標最小值與縱坐標最大值相等的相鄰小班順序值字段中輸入從左到右順序值用于排序,導出圖層屬性表,用Excel函數(shù)countif自動進行小班編號,圖層與Excel表連接,用VBScript字符串函數(shù)left表達式格式化小班號,對橫坐標最小值與縱坐標最大值相等出現(xiàn)錯誤的小班編號,手動修改小班號錯誤。其操作簡單,容易理解,實用,可解決極少數(shù)小班號編號不準確的問題,使小班自動編號準確,符合林業(yè)調(diào)查規(guī)劃小班編號規(guī)則,在實際工作中是實用的辦法。

      圖5 格式化小班號界面

      6 討論

      1)在Python窗口中輸入語法時,要注意空格縮進及字母大小寫等語法格式。

      2)在小班數(shù)量超過7萬個時,用Excel編小班號容易造成Excel卡死。

      3)要實現(xiàn)更快更便利操作,需進一步對Python軟件進行研討。

      猜你喜歡
      一張圖周界縱坐標
      變化的“魚”
      更正
      勘 誤
      周界報警系統(tǒng)在石油化工企業(yè)中的應用
      水上消防(2020年3期)2020-07-25 02:36:20
      基于生成對抗網(wǎng)絡的鐵路周界行人樣本生成算法
      周界報警系統(tǒng)在城軌車輛段及停車場中的應用
      淺議“林地一張圖”在森林資源可持續(xù)經(jīng)營中的利用
      東方教育(2016年11期)2017-01-16 02:02:08
      遼寧建成警務指揮“一張圖”
      西咸新區(qū)國土資源“一張圖”平臺建設初探
      無人值守變電站周界光電一體化安防系統(tǒng)設計
      灌阳县| 济源市| 天镇县| 定州市| 白玉县| 平泉县| 辉县市| 饶平县| 健康| 广安市| 玛沁县| 平潭县| 台山市| 运城市| 静安区| 栖霞市| 富民县| 望谟县| 宁强县| 涞水县| 黄骅市| 新河县| 家居| 沙雅县| 道孚县| 丹江口市| 仁化县| 林州市| 即墨市| 金湖县| 呼伦贝尔市| 昌邑市| 洛南县| 巴南区| 禹城市| 多伦县| 东乡族自治县| 大荔县| 横峰县| 图片| 肥东县|