999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Coreldraw vba的GIS空間線數據自動光滑綜合研究

2017-12-12 00:29:40李正祥
科技創新與應用 2017年34期

李正祥

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

關鍵詞:Coreldraw vba制圖;GIS空間線轉化;自動光滑;線綜合處理

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

1 GIS地理空間線數據與Coreldraw制圖曲線比較與轉化思路

1.1 GIS空間線數據圖形特點

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

1.2 Coreldraw制圖曲線數據特點

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

1.3 折線數據轉化為制圖曲線思路

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

2 vba程序設計

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

2.1 曲線轉化及節點減少

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

For Each seg In ActiveShape.Curve.Segments

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

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

Next seg

sgr.SetType cdrCurveSegment

‘直線組集合轉化為曲線

sgr.NodeRange.SetType cdrSmoothNode

‘設置組集合節點為光滑節點

………

‘設置光滑節點系數K,以達到折線數據擬合為貝賽爾曲線,代碼如下:

For Each s In ActiveSelectionRange.Shapes

‘枚舉所選圖形

If s.Type = cdrCurveShape Then

s.Curve.Nodes.All.Smoothen K

‘按光滑系數K進行貝賽爾擬合

End If

Next s

………

‘曲線節點數減少可設置減少系數M調節,主要代碼如下:

Dim M As Double

M = TextBox2.Value

If CheckBox3.Value = True Then

ActiveShape.Curve.Nodes.All.AutoReduce M

‘按M系數對曲線上所有節點自動減少

End If

K值的不同,擬合的曲線有不同的效果,M不同,節點優化量不一。

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

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

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

For i= 2 To n - 1

‘獲得3個節點的坐標

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

‘獲得相間兩節點弧線長度

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

‘面積法計算中間點與相間隔節點間直線距離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

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

If nr < 0.2 Then

sp(1).Nodes(i).Delete

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

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

End If

Next i

3 結束語

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

參考文獻:

[1]王雷,趙冰雪.ArcGIS與CorelDraw數據格式轉換實現[J].宿州學院學報,2016(10):107-109.

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

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

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

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

主站蜘蛛池模板: 亚洲无码高清免费视频亚洲| 国产免费一级精品视频 | 四虎影视库国产精品一区| 久久精品无码中文字幕| 国产在线第二页| 97超爽成人免费视频在线播放| 国产成人精品高清不卡在线| 国产自产视频一区二区三区| 日本AⅤ精品一区二区三区日| 国产自无码视频在线观看| 久久亚洲欧美综合| 五月激情综合网| 久久夜夜视频| a亚洲天堂| 亚洲免费三区| 日本精品中文字幕在线不卡| 青青青亚洲精品国产| 免费观看成人久久网免费观看| 欧美亚洲综合免费精品高清在线观看 | 国产精品视频公开费视频| 国产麻豆91网在线看| 国产永久在线视频| 色屁屁一区二区三区视频国产| 国产一级在线播放| 久草青青在线视频| 国产精品尤物铁牛tv| 无码啪啪精品天堂浪潮av| 久久综合色播五月男人的天堂| 视频二区亚洲精品| 国产乱人免费视频| 91精品网站| 欧美精品1区2区| 666精品国产精品亚洲| 亚洲成A人V欧美综合天堂| 亚洲色欲色欲www网| 欧美日本视频在线观看| 五月丁香在线视频| 久久精品无码中文字幕| 重口调教一区二区视频| 国产精品第一区在线观看| 国产精品一区在线观看你懂的| 国产自产视频一区二区三区| 国内精品九九久久久精品| 啊嗯不日本网站| 无码'专区第一页| 国产精品乱偷免费视频| 亚洲视频免| 三级欧美在线| 久久9966精品国产免费| 国产自视频| 久久精品国产精品青草app| 美女裸体18禁网站| 色综合手机在线| 另类欧美日韩| 亚洲免费成人网| 萌白酱国产一区二区| 丁香婷婷综合激情| 东京热一区二区三区无码视频| 色婷婷视频在线| 久久精品国产电影| 国产真实乱了在线播放| 久久黄色视频影| 国产精品无码AV中文| 日韩欧美一区在线观看| 人妻少妇久久久久久97人妻| 啪啪免费视频一区二区| 国产你懂得| 成人中文字幕在线| 白浆免费视频国产精品视频| 国产精品国产三级国产专业不| 老司机午夜精品网站在线观看| 四虎在线观看视频高清无码| 亚洲丝袜第一页| 国产免费福利网站| 国产无码在线调教| 青青草原国产精品啪啪视频| 99尹人香蕉国产免费天天拍| 日本黄色a视频| 亚洲精品视频免费| 国产区在线看| 亚洲AV成人一区二区三区AV| 久操中文在线|