亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VBA實現(xiàn)設(shè)計點位編號和坐標提取

        2014-06-27 03:28:20馮偉華陳恩科張隨安李懷敏
        物探化探計算技術(shù) 2014年2期
        關(guān)鍵詞:單元格點位菜單

        馮偉華, 陳恩科, 張隨安, 李懷敏

        (1.陜西省地質(zhì)調(diào)查中心, 西安 710014;2.陜西省地礦局 區(qū)域地質(zhì)礦產(chǎn)研究院, 咸陽 712000)

        0 前言

        在1∶50 000、1∶200 000化探采樣中,一般根據(jù)設(shè)計采樣點位圖人工量取設(shè)計點位坐標,再用GPS導航采取樣品。作者詣在探討利用計算機實現(xiàn)設(shè)計采樣點位坐標的自動提取和填寫樣品編號,以提高野外生產(chǎn)效率和工作精度。坐標提取用MapGis軟件來實現(xiàn),樣品編號用VBA語言編程實現(xiàn),作者重點介紹用VBA編程填寫樣品編號的方法、流程。

        1 坐標提取[1]

        1.1 改變點屬性結(jié)構(gòu)

        圖1為一張經(jīng)過校正的標準位置的的1∶50 000采樣點位設(shè)計圖,采樣點文件為“設(shè)計采樣點位.wt”點文件。選擇“設(shè)計采樣點位”點文件,為編輯狀態(tài)。選擇“點編輯—編輯屬性結(jié)構(gòu)”菜單。選擇插入項,字段名稱輸入X,字段類型長整形,字段長度“8”,小數(shù)位數(shù)“0”,再插入一項,字段名稱輸入Y,其他同上,完成后點擊“OK”選項,退出Mapgis。

        1.2 點位置賦屬性

        利用數(shù)字填圖軟件打開設(shè)計采樣點位圖。選擇“設(shè)計采樣點位”點文件,為編輯狀態(tài)。選擇PRB數(shù)據(jù)操作-PRB-R過程計算與點坐標重寫菜單見圖1,點擊點坐標寫入。退出菜單,選擇修改點屬性結(jié)構(gòu),查看坐標寫入狀況(圖1),查看點屬性,坐標已寫入屬性,x為6位數(shù)據(jù)、y為7位數(shù)據(jù),退出數(shù)字填圖。

        1.3 導出點屬性

        打開MapGIS程序,選擇投影變換窗口。選擇“工具-屬性生成文本文件”菜單,填寫輸出的文本文件的名稱,見圖2設(shè)置各項,完成屬性輸出。輸出的文本文件有三項數(shù)據(jù),ID號、X、Y。將文本文件轉(zhuǎn)換為Excel格式,以備后續(xù)編寫采樣點編號使用。

        2 填寫樣品編號

        2.1 樣品編號規(guī)則[2]

        在1∶50 000化探中,樣品編號分為三步:首先將圖幅范圍以縱橫坐標,整公里方里網(wǎng)為界距劃分為1 km2基本單元格,由左到右,由上到下依次順序編號;再將每個1 km2基本單元格,以x、y500 m間距等分為四個0.25 km2小單元格,順時針編號為a、b、c、d;在每個小單元格內(nèi)按x坐標由小到大依次編號a1、a2等。因此一個樣品編號(例1031a2)由三部分組成:一級編號(基本單元格號,1031)+二級編號(小單元格編號,a)+三級編號(2)。

        圖1 設(shè)計采樣點位圖及點位賦屬性窗口Fig.1 Map of design of sampling point and window of point site to attribute

        圖2 屬性輸出窗口Fig.2 Output window of attributes

        2.2 宏、VBA語言及重點函數(shù)介紹

        “宏”是一些存儲了一系列命令的程序,用戶通過“宏”功能來創(chuàng)建命令程序,使應(yīng)用程序自動化。 Visual Basic for Applications(VBA)是Visual Basic的一種宏語言,主要能用來擴展Windows的應(yīng)用程序(Excel、Word等)功能,使應(yīng)用程序自動化[3]。VBA語言可直接對Excel數(shù)據(jù)單元格和行、列進行操作,不必另行轉(zhuǎn)換數(shù)據(jù)格式和定義二維數(shù)組存儲數(shù)據(jù),數(shù)據(jù)運算簡便,運行速度高。本次編程涉及的VBA語言主要的方法、屬性簡要說明如表1所示。

        2.3 數(shù)據(jù)存儲

        原始點位數(shù)據(jù)以Excel形式存儲(圖3),第一行為標題行,A列、B列為設(shè)計點位坐標存儲位置,A列為x值,B列為y值。C列到G列為程序運算過程中數(shù)據(jù)中間存儲位置,C列為一級編碼、D列為二級編碼、E列為三級編碼、F列、G列為對應(yīng)的點位坐標。三級編碼完成后,A列、B列為空值,整列刪除,C列到E列合并為一列,為樣品編號列,見圖3右邊為數(shù)據(jù)處理結(jié)束后存儲格式。

        2.4 程序流程

        將整個采樣點位看做分布于m行n列基本單元格內(nèi)縱坐標由大到小,橫坐標由小到大有序排列的二維數(shù)據(jù)陣,用雙重循環(huán)控制,循環(huán)遍歷全部數(shù)據(jù)。根據(jù)樣點坐標與起始編碼坐標的差值尋依次找第m行n列,第k個單元格內(nèi)的點位數(shù)據(jù);根據(jù)x坐標y坐標的后三位值確定二級編碼值;一個單元格內(nèi)點位數(shù)據(jù)提取完后,再次遍歷該單元格內(nèi)點位數(shù)據(jù),確定三級編碼值;一個單元格內(nèi)數(shù)據(jù)完成編碼后,將該單元格內(nèi)的點位數(shù)據(jù)復制到其他列并從原數(shù)據(jù)中刪除,以提高程序后續(xù)運行速度,程序流程見圖4。

        2.5 主要程序編碼及說明

        Sub 編碼()

        Dim ZRow As Long

        ′總行數(shù)

        Dim STx, Endx As Long

        ′定義起始、結(jié)束

        單元格x、y

        Dim STy, Endy As Long

        Dim Zh, Zl As Integer

        ′定義基本單元格的

        總行,總列

        Dim rng1 As Range

        Fricode = 1

        ′一級編碼賦初始值“1 ”

        Set rng1 = ActiveCell.CurrentRegion

        ZRow = rng1.Rows.Count

        ′獲取Excel數(shù)

        據(jù)的總行數(shù)

        For n = 0 To Zh

        ′一重循環(huán)控制行

        For m = 0 To Zl

        ′二重循環(huán)控制列

        表1 主要的方法、屬性簡要說明[4]

        圖3 數(shù)據(jù)存儲格式說明Fig.3 Shows the data storage format

        Num = 0

        ′Num,記錄該基本單元格內(nèi)

        設(shè)計樣點數(shù)

        Fricode = Fricode + p

        ′Fricode,記錄

        一級編碼值,順序編碼

        p = 0

        For i = 2 To ZRow

        ′順序遍歷Excel數(shù)據(jù)

        Dqx = Cells(i, 2).Value

        ′獲取x坐標

        Dqy = Cells(i, 3).Value

        ′獲取y坐標

        If (Dqx - STx) 1000 = m And (STy - Dqy) 1000 = n Then

        ′數(shù)據(jù)滿足該單元格的條件

        p = 1

        ′一級編碼加1

        AA(Num) = i

        ′AA( )數(shù)組記錄滿足條件的數(shù)據(jù)行號,以備后續(xù)刪除該行數(shù)據(jù)

        Num = Num + 1

        。。。。。。。。

        ′判斷二級編碼值

        Cells(j, 5).Value = Fricode

        ′將該單元格內(nèi)點位數(shù)據(jù)復制到第j行8、9列;5,6列賦一、二級編碼值。

        Cells(j, 6).Value = Secode

        Cells(j, 8).Value = Dqx

        Cells(j, 9).Value = Dqy

        Next i

        For b = 1 To Num

        ′用雙重循環(huán)確定該

        單元格內(nèi)Num個樣點的三級編碼值

        。。。。。。。。

        Next b

        ZRow = ZRow - Num

        For e = Num - 1 To 0 Step -1

        ′在原Excel數(shù)據(jù)中由后

        向前刪除已編碼的Num個數(shù)據(jù)。

        Range("A" & AA(e) & ":C" & AA(e)).Delete shift:=xlUp

        Next e

        Next m

        ′該單元格數(shù)據(jù)操作完成,開始提取該行下一個單元格的數(shù)據(jù)

        Next n

        ′開始提取下一行,第一個單元格的數(shù)據(jù)

        Range("A:B").Delete shift:=xlLe

        ′全部編碼完成后,刪除1-2列空白列。

        End Sub

        圖4 程序流程圖Fig.4 Flow chart of the program

        3 程序運行

        以四幅1∶50 000設(shè)計采樣點位圖為例,共設(shè)計采樣點位11 721個,提取的點位坐標如圖5所示。打開工具菜單,執(zhí)行宏命令(圖5),彈出程序界面, 輸入工作區(qū)范圍、基本單元格間距,開始執(zhí)行程序。完成全部編號需15 min左右。

        圖5 程序運行界面Fig.5 Interface of program running

        4 說明

        (1)在提取設(shè)計點位坐標時,所使用的設(shè)計采樣點位圖必須是經(jīng)校正標準位置的圖幅,提取的坐標x為6位、y為7位。

        (2)程序中輸入的起始、結(jié)束X、 Y為整公里值,基本單元間距單位為公里。

        5 結(jié)論

        (1)VBA語言針對Excel宏編程,語法簡單,運算簡便,運行效率高。

        (2)程序的通用性較強,適用于 1∶50 000、 1∶200 000 等不同比例尺化探。

        (3)該方法應(yīng)用于實際生產(chǎn),可有效地改善野外生產(chǎn)的精度,提高工作效率。

        參考文獻:

        [1] 中國地質(zhì)調(diào)查局發(fā)展研究中心,數(shù)字填圖用戶操作指南[M].北京:中國地質(zhì)調(diào)查發(fā)展中心,2000.

        [2] DZ/TO 167-2006區(qū)域地球化學勘查規(guī)范[S].北京:中國標準出版社,2006.

        [3] Excel VBA 基礎(chǔ)教程[EB/OL]互聯(lián)網(wǎng)百度文庫.

        [4] Excel VBA語法辭典[M].北京:機械工業(yè)出版社,2010.

        猜你喜歡
        單元格點位菜單
        1年期國債收益率跌至1%
        銀行家(2025年1期)2025-02-08 00:00:00
        機器人快速示教方法及示教點位姿變換的研究
        玩轉(zhuǎn)方格
        玩轉(zhuǎn)方格
        中國新年菜單
        淺談Excel中常見統(tǒng)計個數(shù)函數(shù)的用法
        西部皮革(2018年6期)2018-05-07 06:41:07
        本月菜單
        美食堂(2017年1期)2017-01-13 01:37:42
        垂直面內(nèi)建立基線的特殊點位高程測量法
        一個“公海龜”的求偶菜單
        鴨綠江(2013年10期)2013-03-11 19:41:55
        2013年全國將建成440余個國家空氣監(jiān)測點位
        亚洲精品中文字幕一二三区| 妞干网中文字幕| 风流少妇一区二区三区| 国产午夜免费一区二区三区视频| 伊人大杳焦在线| 国产女女精品视频久热视频| 日韩一二三四精品免费| 少妇我被躁爽到高潮在线影片| 妺妺窝人体色www在线| 久久久久亚洲精品无码网址色欲| 国产免费av片在线观看播放| 亚洲国产黄色在线观看| 亚洲中文字幕人妻av在线| 4hu四虎永久在线观看| 亚洲a∨天堂男人无码| 久久精品亚洲国产成人av| 极品人妻少妇av免费久久 | 激情五月开心五月啪啪| 女人高潮内射99精品| 亚洲gv白嫩小受在线观看| 无码av专区丝袜专区| 一二三四在线视频观看社区| 亚洲欧美另类日本久久影院| 久久熟女少妇一区二区三区 | 欧美人和黑人牲交网站上线| 国产成人无码精品久久99| 亚洲一区二区在线视频,| 欧美性色欧美a在线播放| 丰满人妻在公车被猛烈进入电影| 亚洲综合色婷婷久久| 成人免费av高清在线| 五月丁香综合激情六月久久| 亚洲色成人网站www观看入口| 久久精品亚洲国产成人av| 大地资源网在线观看免费官网| 四川老熟女下面又黑又肥 | 久久久99精品成人片| 免费观看又色又爽又黄的韩国| 亚洲a∨好看av高清在线观看| 日韩高清不卡一区二区三区| 十八18禁国产精品www|