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

        ?

        CASS地籍圖中界址信息批量轉(zhuǎn)出方法研究

        2020-07-09 09:55:20陳麗金
        資源信息與工程 2020年3期
        關(guān)鍵詞:宗地界址數(shù)組

        陳麗金

        (福建東辰綜合勘察院,福建 福州 350001)

        1 引言

        地籍調(diào)查是依照國(guó)家相關(guān)法律法規(guī),通過(guò)地籍測(cè)繪和權(quán)屬調(diào)查,確定宗地的權(quán)屬狀態(tài)、位置坐落、界址分布、宗地面積、宗地用途等信息,并形成一系列調(diào)查表格、圖件、數(shù)據(jù)庫(kù)等信息成果,為土地登記和發(fā)證提供依據(jù)的一項(xiàng)重要基礎(chǔ)工作[1]。宗地是地籍調(diào)查的基本單元,是指由封閉的權(quán)屬線所包圍的地塊或空間,構(gòu)成宗地的邊界線稱為界址線,而界址線的轉(zhuǎn)折點(diǎn)稱為界址點(diǎn),因此可以說(shuō),界址點(diǎn)、界址線唯一確定了宗地的空間位置[2]。

        在地籍調(diào)查中,地籍圖和地籍調(diào)查表是兩類非常重要的成果,地籍圖是以特定的投影、比例、符號(hào)系統(tǒng)將地籍要素表示在地圖中,反映各宗地的位置分布和空間關(guān)系的圖件,CASS是地籍調(diào)查中應(yīng)用非常廣泛的制圖軟件[3]。地籍調(diào)查表是以表格的形式記錄宗地相關(guān)屬性信息的載體,由封面、宗地基本信息表、界址信息表等部分構(gòu)成,其中,界址信息表中記錄界址點(diǎn)號(hào)、界址間距等界址描述信息[4]。由于地籍圖中已經(jīng)記錄了宗地各界址點(diǎn)的坐標(biāo),因此可以利用地籍圖中的相關(guān)信息自動(dòng)生成界址信息表。本文將討論CASS軟件繪制的地籍圖中批量轉(zhuǎn)出界址信息的方法。

        2 CASS地籍圖中界址信息存儲(chǔ)及轉(zhuǎn)出方式

        CASS地籍圖中宗地、界址線、界址點(diǎn)通過(guò)宗地代碼進(jìn)行關(guān)聯(lián),對(duì)于同一宗地,其界址點(diǎn)編號(hào)自宗地西北角從1開始順時(shí)針進(jìn)行編號(hào),如圖1所示。

        圖1 地籍圖中的界址點(diǎn)編號(hào)

        CASS提供了兩種方式批量轉(zhuǎn)出界址信息,一種是通過(guò)“輸出宗地屬性”工具將所有宗地的權(quán)屬信息轉(zhuǎn)出到mdb數(shù)據(jù)庫(kù)中,該數(shù)據(jù)庫(kù)包含zdinfo、jzdinfo、jzxinfo三個(gè)表,分別存儲(chǔ)宗地、界址點(diǎn)、界址線屬性信息。在jzxinfo表中QDH和ZDH分別記錄界址線的起止界址點(diǎn)點(diǎn)號(hào),然而該編號(hào)是以地籍子區(qū)為單位而不是以宗地為單位進(jìn)行順序編號(hào),與圖面表達(dá)不一致,如圖2所示。

        圖2 CASS中批量轉(zhuǎn)出的jzxinfo表的界址點(diǎn)號(hào)

        另一種方式是通過(guò)“繪制地籍表格”菜單組中的“界址點(diǎn)成果表(excel)”導(dǎo)出界址信息,以excel方式存儲(chǔ),每宗地的界址信息存儲(chǔ)在一個(gè)表單(sheet)中,如圖3所示。該種方式中的界址點(diǎn)號(hào)仍以地籍子區(qū)為單位進(jìn)行順序編號(hào)。此外,如果宗地?cái)?shù)量較多,該種方式導(dǎo)出界址信息時(shí)軟件容易崩潰,無(wú)法將所有宗地的界址信息導(dǎo)出。

        圖3 CASS中批量轉(zhuǎn)出的界址點(diǎn)成果表

        上述兩種方式轉(zhuǎn)出的界址信息的共同點(diǎn)是界址點(diǎn)無(wú)法按宗地進(jìn)行從1開始編號(hào),本文探索一種基于CASS中權(quán)屬文件的界址信息批量轉(zhuǎn)出方式。

        3 基于權(quán)屬文件的界址信息批量轉(zhuǎn)出算法

        首先,利用CASS軟件中的“權(quán)屬文件生成”菜單組中的“由界址線生成”,指定一條閉合線,可將內(nèi)部所有宗地的界址信息導(dǎo)出到外部后綴格式為.qs的文本文件中,用記事本打開該文件,內(nèi)容格式如圖4所示。文件中,每宗地包含一組信息,第一行為宗地代碼,第二行為權(quán)利人名稱,第三行為地類代碼,第四行開始每三行為一個(gè)界址點(diǎn)信息,包含點(diǎn)號(hào)和橫縱坐標(biāo)值,宗地信息以“E,宗地面積”作為最后一行,然后繼續(xù)下一宗地的信息組,直到最后一宗地,再以“E”結(jié)束權(quán)屬文件。

        圖4 權(quán)屬文件格式

        權(quán)屬文件中,界址點(diǎn)以地籍子區(qū)為單位從小到大編號(hào),對(duì)于單宗地,從西北角開始按順時(shí)針?lè)较蚓幪?hào)。例如,某地籍子區(qū)第一宗地的界址點(diǎn)編號(hào)為J1-J5,第二宗地的界址點(diǎn)號(hào)為J6-J12,以此類推。在地籍調(diào)查表中,每一宗地的界址點(diǎn)編號(hào)一般從西北角開始順時(shí)針從1開始編號(hào),因此,需要對(duì)上述權(quán)屬文件(.qs)進(jìn)行解析處理,對(duì)每宗地的界址點(diǎn)重新進(jìn)行編號(hào)即可。算法步驟如下:

        (1)讀取權(quán)屬文件,將所有行的內(nèi)容存儲(chǔ)在行信息數(shù)組中。

        (2)創(chuàng)建宗地信息動(dòng)態(tài)數(shù)組,數(shù)組元素為宗地信息,宗地信息元素包含宗地代碼屬性和界址點(diǎn)動(dòng)態(tài)數(shù)組,界址點(diǎn)數(shù)組元素包含界址點(diǎn)x,y坐標(biāo)值。

        (3)遍歷行信息數(shù)組,讀取并記錄第一行宗地代碼,存入當(dāng)前宗地元素的宗地代碼屬性。

        (4)跳3行讀取原始界址點(diǎn)號(hào),如果不是以“E,”開頭,則記錄下面2行的坐標(biāo)值,存入當(dāng)前宗地元素界址點(diǎn)數(shù)組。

        (5)重復(fù)執(zhí)行步驟(4),直到遇到“E,”,說(shuō)明本宗地信息組結(jié)束。轉(zhuǎn)入步驟(3),繼續(xù)讀取下一宗地信息。

        (6)重復(fù)執(zhí)行步驟(3)到步驟(5),直到所有行信息讀取結(jié)束。

        (7)創(chuàng)建一個(gè)csv文件用于存儲(chǔ)界址信息,每行用于存儲(chǔ)一條界址線信息,包括宗地代碼、起始界址點(diǎn)號(hào)、終止界址點(diǎn)號(hào)、界址線長(zhǎng)度四個(gè)字段信息。

        (8)遍歷上述宗地信息動(dòng)態(tài)數(shù)組,讀取每一宗地的宗地代碼屬性和界址點(diǎn)動(dòng)態(tài)數(shù)組,界址點(diǎn)編號(hào)從1開始續(xù)編,相鄰兩個(gè)界址點(diǎn)構(gòu)成一條界址線(最后一個(gè)點(diǎn)與第一個(gè)點(diǎn)閉合),計(jì)算其直線距離即為界址線長(zhǎng)度,存入界址信息文件。

        (9)直到宗地信息動(dòng)態(tài)數(shù)組遍歷結(jié)束,關(guān)閉界址信息文件,轉(zhuǎn)換結(jié)束。

        4 算法實(shí)現(xiàn)

        用C#語(yǔ)言對(duì)上述算法進(jìn)行編程實(shí)現(xiàn),核心代碼如下所示:

        private void ConvertQS(string qsFile,string result)

        {

        string zddm = "";

        string[]lines = File.ReadAllLines(qsFile, Encoding.Default);//行信息數(shù)組

        lines = lines.Take(lines.Length-1).ToArray();//去掉最后一行結(jié)束標(biāo)記(E)

        int line_count = lines.Length;//行數(shù)

        int lineIndex = 0;//行序號(hào)

        List zdInfos = new List();//宗地信息動(dòng)態(tài)數(shù)組

        while(lineIndex < line_count)//遍歷行信息數(shù)組

        {

        zddm = lines[lineIndex];//第一行為宗地代碼

        ZDInfo zdInfo = new ZDInfo(zddm);

        lineIndex += 3;//轉(zhuǎn)到界址點(diǎn)記錄處

        string jzp_no = lines[lineIndex];//原始界址點(diǎn)點(diǎn)號(hào)

        //未遇到E,表示本宗地界址點(diǎn)未遍歷結(jié)束,記錄本界址點(diǎn)信息

        while(!jzp_no.StartsWith("E,"))

        {

        string x = lines[lineIndex + 1];

        string y = lines[lineIndex + 2];

        zdInfo.jzs.Add(new JZInfo(x, y));//當(dāng)前界址點(diǎn)存入宗地信息

        lineIndex += 3;//每個(gè)點(diǎn)有3行信息

        jzp_no = lines[lineIndex];//繼續(xù)遍歷本宗地界址點(diǎn)

        }

        zdInfos.Add(zdInfo)//本宗地遍歷結(jié)束,存入宗地信息數(shù)組

        lineIndex++;//轉(zhuǎn)入下一宗地

        }

        //遍歷宗地信息動(dòng)態(tài)數(shù)組進(jìn)行界址點(diǎn)重編號(hào)

        string[]contents = zdInfos.OrderBy(item => item.zddm).ToList().Select(zdInfo =>

        {

        StringBuilder sb = new StringBuilder();

        //遍歷當(dāng)前宗地界址點(diǎn)動(dòng)態(tài)數(shù)組,相鄰兩點(diǎn)構(gòu)成一條界址線(最后一點(diǎn)與起點(diǎn)閉合)

        for(int i = 1, len = zdInfo.jzs.Count; i <= len; i++)//對(duì)每一宗地的界址點(diǎn)從1開始序編

        {

        string start = string.Format("J{0}", i);

        string end = i != len ? string.Format("J{0}", i + 1): "J1";

        //計(jì)算兩點(diǎn)之間的直線距離

        JZInfo startP = zdInfo.jzs[i-1];

        JZInfo endP = zdInfo.jzs[i != len ? i : 0];

        string dis = Math.Sqrt(Math.Pow(startP.x-endP.x, 2)+ Math.Pow(startP.y-endP.y, 2)).ToString("F3");

        sb.AppendLine(string.Format("{0},{1},{2},{3}", zdInfo.zddm, start, end, dis));

        }

        return sb.ToString().TrimEnd(new char[]{ ‘ ’, ‘ ’ });

        }).ToArray();

        //寫入結(jié)果文件

        File.WriteAllText(result, "宗地代碼,起始點(diǎn)號(hào),終止點(diǎn)號(hào),界址線長(zhǎng)度 " + string.Join(" ", contents), Encoding.Default);

        }

        5 結(jié)果分析

        運(yùn)行上述代碼對(duì)原始權(quán)屬文件進(jìn)行處理,得到如圖5所示結(jié)果,可以看出,每一宗地的界址點(diǎn)號(hào)已從1開始編碼,并自動(dòng)計(jì)算得到每條界址線的長(zhǎng)度。在地籍圖中對(duì)宗地原始的界址點(diǎn)號(hào)和界址線的長(zhǎng)度

        圖5 轉(zhuǎn)換結(jié)果

        進(jìn)行了比對(duì),轉(zhuǎn)換結(jié)果中相鄰界址點(diǎn)的編號(hào)保持了原有的相對(duì)關(guān)系,且界址線長(zhǎng)度也與地籍圖上一致,驗(yàn)證了該方法的可行性。在該結(jié)果的基礎(chǔ)上可以很容易地進(jìn)行地籍調(diào)查表中界址信息的格式化輸出以及數(shù)據(jù)入庫(kù)等其他轉(zhuǎn)化,本文不做深入闡述。

        猜你喜歡
        宗地界址數(shù)組
        兩只小兔移界址
        兩只小兔移界址
        JAVA稀疏矩陣算法
        JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
        尋找勾股數(shù)組的歷程
        在ArcMap中實(shí)現(xiàn)對(duì)金圖建庫(kù)系統(tǒng)中界址線屬性的便捷錄入
        基于歷史歸檔的宗地查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        河南科技(2014年22期)2014-02-27 14:18:03
        地籍宗地時(shí)空數(shù)據(jù)庫(kù)中的變化檢測(cè)
        基于多色圖的宗地信息歷史回溯模型及實(shí)現(xiàn)
        廣州SCS中界址點(diǎn)的檢查與處理
        激情网色图区蜜桃av| 一群黑人大战亚裔女在线播放| 国产精品亚洲一区二区杨幂| 视频一区中文字幕亚洲| 粉嫩极品国产在线观看免费一区 | 精品伊人久久大香线蕉综合| 精品少妇一区二区三区视频| 无码一区二区丝袜| 日本a级黄片免费观看| 亚洲婷婷五月综合狠狠爱| 国产午夜无码视频免费网站| 蜜桃一区二区三区自拍视频| 亚洲精品一区二区高清| 国内精品视频在线播放不卡 | 国产农村妇女毛片精品久久| 国产免费一级高清淫日本片| 久久精品国产亚洲av成人无人区 | 中文乱码字幕在线中文乱码| 国产精品一区二区av不卡| 欧美大成色www永久网站婷| 国产精品大屁股1区二区三区| 国产精品又污又爽又色的网站| 欧美性猛交aaaa片黑人 | 老色鬼在线精品视频| 国产无遮挡a片又黄又爽| 亚洲伦理一区二区三区| 黑人玩弄极品人妻系列视频| 18禁黄网站禁片免费观看女女| 精品国产制服丝袜高跟| 色窝窝手在线视频| 蜜桃高清视频在线看免费1| 中文字幕色av一区二区三区| 人妻无码人妻有码中文字幕| 亚洲欧美v国产蜜芽tv| 四季极品偷拍一区二区三区视频| 98色婷婷在线| 妓院一钑片免看黄大片| 中文字幕一区二区三区人妻精品| 中文字幕精品一区二区三区av| 国产成人av一区二区三区在线观看 | 色欲av伊人久久大香线蕉影院|