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

        ?

        基于Coreldraw vba的GIS空間線數(shù)據(jù)自動光滑綜合研究

        2017-12-12 00:29:40李正祥
        科技創(chuàng)新與應(yīng)用 2017年34期

        李正祥

        摘 要:地圖制圖出版對地圖版面效果有著很高的要求,其符號、曲線、注記的配置與美觀程度直接影響讀圖者的心里感受。Coreldraw軟件因其強大的文字、曲線和效果編輯功能,深受地圖制圖者的喜愛。文章基于vba 二次開發(fā),研究了GIS地理空間線數(shù)據(jù)在Coreldraw制圖中的轉(zhuǎn)化、光滑和自動綜合等方法,極大減小了地理空間線數(shù)據(jù)在Coreldraw制圖中的工作量,提高了制圖質(zhì)量、增強了圖面效果。

        關(guān)鍵詞:Coreldraw vba制圖;GIS空間線轉(zhuǎn)化;自動光滑;線綜合處理

        中圖分類號:P283.7 文獻標(biāo)志碼:A 文章編號:2095-2945(2017)34-0016-02

        1 GIS地理空間線數(shù)據(jù)與Coreldraw制圖曲線比較與轉(zhuǎn)化思路

        1.1 GIS空間線數(shù)據(jù)圖形特點

        GIS地理空間數(shù)據(jù)庫本質(zhì)特征是基于圖形的屬性數(shù)據(jù)存儲與查詢,其空間線圖形是以節(jié)點位置為單元的存儲方式,按節(jié)點順序以折線方式表達來符合地理空間線、面特征。其節(jié)點為直線型節(jié)點,節(jié)點無調(diào)節(jié)作用,僅限定直線段通過。空間特征表現(xiàn)越精確,圖形節(jié)點數(shù)量越多,折線段量則越大。最大構(gòu)成單個圖元節(jié)點數(shù)量可高達十萬個,文件大小至千兆字節(jié)。

        1.2 Coreldraw制圖曲線數(shù)據(jù)特點

        Coreldraw制圖線數(shù)據(jù)是一種非屬性的圖元結(jié)構(gòu)。受地圖圖面表達美觀、簡潔的視覺要求限制,圖形一般以節(jié)點控制的光滑曲線來表達,特別是中小比例尺地圖制圖,還必須對線、面等部分細微特征進行制圖綜合,保留優(yōu)化后的宏觀特征。其節(jié)點類型可分為尖突節(jié)點、平滑節(jié)點和對稱節(jié)點3類, 受制圖軟件限制,Coreldraw文件大小一般為幾百兆字節(jié)以內(nèi)。

        1.3 折線數(shù)據(jù)轉(zhuǎn)化為制圖曲線思路

        由折線與曲線的特點和控制節(jié)點性質(zhì)可知,折線轉(zhuǎn)化為曲線,同時對節(jié)點類型轉(zhuǎn)換,可實現(xiàn)曲線光滑處理。綜合拉直按成圖比例尺大小,根據(jù)地理空間線要素空間分布特點,刪除不必要的細微特征控制節(jié)點,保留宏觀特征節(jié)點,就可實行地圖制圖的曲線要素自動綜合。

        2 vba程序設(shè)計

        GIS地理空間線數(shù)據(jù)在生產(chǎn)過程中,需按實際線狀要素特點,使用折線近似平滑描繪真實空間走向,因此在Coreldraw軟件中則要將折線轉(zhuǎn)化為最廣泛使用的貝賽爾光滑曲線,并對曲線中冗余節(jié)點進行刪減,控制曲線特征節(jié)點手柄方向和曲率來表現(xiàn)真實地物的基本特征。

        2.1 曲線轉(zhuǎn)化及節(jié)點減少

        經(jīng)過空間處理的GIS線數(shù)據(jù)導(dǎo)入Coreldraw制圖軟件時為直線節(jié)點控制的折線段,必須進行曲線轉(zhuǎn)化和節(jié)點處理,減少數(shù)據(jù)量(龐大的數(shù)據(jù)量對計算機性能要求很高,容易造成Coreldraw軟件卡死),方便于地圖制圖。為便于制圖者對每個線要素的關(guān)注和操作,保守的做法是采用先選取再處理的程式。具體實現(xiàn)主要代碼如下:

        For Each seg In ActiveShape.Curve.Segments

        ‘枚舉選中的每一條線要素

        If seg.Type = cdrLineSegment Then sgr.Add seg‘將每條直線并入組集合

        Next seg

        sgr.SetType cdrCurveSegment

        ‘直線組集合轉(zhuǎn)化為曲線

        sgr.NodeRange.SetType cdrSmoothNode

        ‘設(shè)置組集合節(jié)點為光滑節(jié)點

        ………

        ‘設(shè)置光滑節(jié)點系數(shù)K,以達到折線數(shù)據(jù)擬合為貝賽爾曲線,代碼如下:

        For Each s In ActiveSelectionRange.Shapes

        ‘枚舉所選圖形

        If s.Type = cdrCurveShape Then

        s.Curve.Nodes.All.Smoothen K

        ‘按光滑系數(shù)K進行貝賽爾擬合

        End If

        Next s

        ………

        ‘曲線節(jié)點數(shù)減少可設(shè)置減少系數(shù)M調(diào)節(jié),主要代碼如下:

        Dim M As Double

        M = TextBox2.Value

        If CheckBox3.Value = True Then

        ActiveShape.Curve.Nodes.All.AutoReduce M

        ‘按M系數(shù)對曲線上所有節(jié)點自動減少

        End If

        K值的不同,擬合的曲線有不同的效果,M不同,節(jié)點優(yōu)化量不一。

        2.2 中小比例尺曲線綜合拉直

        真實世界中地形地物千差萬別,作為表現(xiàn)其特征的地圖不可能有統(tǒng)一表示,地圖創(chuàng)作的差別各源泉也主要反映在制圖綜合方面。本程序綜合拉直功能算法從兩方面進行考慮:一是根據(jù)依次遞歸控制曲線特征的3個節(jié)點Nodes(1)、Nodes(2)和Nodes(3),取Nodes(2)距Nodes(1)、Nodes(3)連線間距離與Nodes(1)和Nodes(3)間線段長度比值(與曲率相關(guān))作為控制Nodes(2)特征是否保留的依據(jù)。二是順序判斷相鄰節(jié)點間弧線長度,小于預(yù)設(shè)值則舍棄節(jié)點,可對彎折較多的特征點進行適度的綜合拉直處理,如圖所示。主要代碼如下:

        n = sp(1).Nodes.count‘曲線上節(jié)點數(shù)

        For i= 2 To n - 1

        ‘獲得3個節(jié)點的坐標(biāo)

        ax = sp(1).Nodes(i - 1).PositionX

        ay = sp(1).Nodes(i - 1).PositionY

        bx = sp(1).Nodes(i).PositionXendprint

        by = sp(1).Nodes(i).PositionY

        cx = sp(1).Nodes(i + 1).PositionX

        cy = sp(1).Nodes(i + 1).PositionY4

        ‘獲得相間兩節(jié)點弧線長度

        nr = sp(1).Nodes(i - 1).GetDistanceFrom(sp(1).Nodes(i + 1))

        ‘面積法計算中間點與相間隔節(jié)點間直線距離dis

        A = Math.Sqr((cx - ax) * (cx - ax) + (cy - ay) * (cy - ay))

        B = Math.Sqr((bx - ax) * (bx - ax) + (by - ay) * (by - ay))

        C = Math.Sqr((cx - bx) * (cx - bx) + (cy - by) * (cy - by))

        p = (A + B + C) / 2D = Math.Sqr(p * (p - A) * (p - B) * (p - C))

        dis = 2 * D / A

        ‘相間節(jié)點間距離小于0.2,則舍棄中間I 節(jié)點

        If nr < 0.2 Then

        sp(1).Nodes(i).Delete

        ‘點與線段間距離dis與線段長度比值小于M則舍棄節(jié)點i

        Else: If dis / A < M Then sp(1).Nodes(i).Delete

        End If

        Next i

        3 結(jié)束語

        在實際數(shù)據(jù)庫線數(shù)據(jù)制圖自動光滑綜合過程中發(fā)現(xiàn),本二次開發(fā)對于折線轉(zhuǎn)曲線并減少節(jié)點光滑綜合效果和特征點保留很好,可很好地應(yīng)用于相近比例尺的制圖和縮編。然而,對于比例尺跨度較大,如1:10000縮編至1:100000以下時,綜合拉直在一些特殊地方,如連續(xù)轉(zhuǎn)角過多地方還需進行人工編輯和調(diào)整。

        參考文獻:

        [1]王雷,趙冰雪.ArcGIS與CorelDraw數(shù)據(jù)格式轉(zhuǎn)換實現(xiàn)[J].宿州學(xué)院學(xué)報,2016(10):107-109.

        [2]曾克明.Coreldraw軟件的二次開發(fā)在地圖制圖中的應(yīng)用與實例[J].測繪通報,2010(8):60-61.

        [3]焦靈,等.Coreldraw X7平面設(shè)計與制作[M].高等教育出版社,2017,3.

        [4]劉洋,郭慶勝,等.Coreldraw線狀地圖符號庫的設(shè)計[J].測繪工程,2017,26(7):66-70,75.

        [5]周園.地圖與地圖制圖[M].武漢大學(xué)出版社,2011,11.endprint

        日韩中文字幕一区在线| 青青草免费手机直播视频| 最新国产成人自拍视频| 男女啪啪啪的高清视频| 久久国内精品自在自线| 国产一区二区自拍刺激在线观看| 无码国内精品久久人妻| 全球av集中精品导航福利| 18禁美女裸身无遮挡免费网站| 99精品免费视频| 亚洲黄色性生活一级片| av手机在线天堂网| 成人免费丝袜美腿视频| 亚洲精品视频免费在线| 一区二区三区精品婷婷| 中文字幕影片免费人妻少妇 | 日本不卡视频一区二区| 久久精品夜色噜噜亚洲a∨| 国产国拍亚洲精品mv在线观看| 国产高清在线精品一区| 最新亚洲精品国偷自产在线| 中文字幕亚洲人妻系列| 国产免费99久久精品| 国产一区二区三区白浆肉丝| 国产精品女同一区二区免费站| 男女高潮免费观看无遮挡 | 亚洲欧美日韩高清中文在线| 亚洲中文字幕熟女五十| 日本熟女视频一区二区三区| 成人国产激情自拍视频| 女局长白白嫩嫩大屁股| 2021久久精品国产99国产精品| 中文字幕久久久久人妻无码| 国产精品自产拍在线观看中文| 亚洲精品国产福利在线观看| 东京热加勒比国产精品| 2019nv天堂香蕉在线观看| 免费人成视频在线| 国产激情无码Av毛片久久| 久久精品伊人久久精品伊人| 国产日产精品_国产精品毛片|