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

基于R樹空間索引的AutoCAD圖形文件快速裁剪方法

2020-02-02 03:36:58史蕾
電子技術與軟件工程 2020年16期
關鍵詞:效率結構方法

史蕾

(1.中冶集團武漢勘察研究院有限公司 湖北省武漢市 430080 2.中冶智誠(武漢)工程技術有限公司 湖北省武漢市 430073)

1 引言

在實際工程應用中,AutoCAD 圖形文件(dwg 和dxf 文件)被設計行業(yè)廣泛使用。對AutoCAD 圖形文件的裁剪處理是一種常見的操作,通常利用相關的CAD (Computer Aided Design,計算機輔助設計)軟件便可實現。然而對于圖形數量達百萬級的大型圖形文件,以及需要在裁剪過程中進行其他處理(例如編輯修改、坐標變換等)時,CAD 軟件的效率和功能無法滿足實際生產應用需求。因此,針對大型圖形文件的裁剪處理問題,本文提出了基于R 樹空間索引的裁剪方法,能夠高效地進行大型圖形文件的裁剪處理。

2 R樹空間索引

AutoCAD 圖形文件的對象存儲于塊表(BlockTable)中,對象由句柄ID(HandleID)進行唯一標識,因此從AutoCAD 圖形文件中獲取指定的對象需要根據句柄ID 進行檢索。由于AutoCAD 圖形文件不存儲空間索引信息,因此從中獲取指定范圍內的對象需要遍歷圖形文件內的所有對象并進行逐一判斷篩選。這種操作方式在處理對象個數不多時對實際應用影響不大,但當圖形對象個數達到幾十萬甚至百萬級以上時,遍歷篩選法則完全無法滿足實際工作需求。

在空間數據的組織管理中,為了提高空間對象的查詢效率,通常會建立各種空間索引結構,例如網格索引[1]、KD 樹索引[2;3]、四叉樹/八叉樹索引[2;3]、B 樹[2;3]、R 樹[4;5]及其各種變種樹。空間索引作為一種輔助性的數據結構,用于篩選和剔除與指定的空間操作無關的空間對象,是對空間對象進行高效檢索的有效方法。

R 樹是當前空間數據組織管理中最流行的動態(tài)空間索引結構之一,是B 樹索引在多維空間上的擴展,是一種采用對象界定技術的高度平衡樹結構[5]。其構建思想是以對象的最小外包矩形MBR(Minimum Bounding Rectangle)為基本單元遞歸地對數據集空間進行規(guī)則劃分[3],如圖1所示。

在圖1中a~i 為空間對象的MBR,R1-R3 為包含這些對象矩形的高層次的矩形范圍,R0 則是包含R1~R3 這些矩形的更高層次的矩形,其數據結構如圖2所示。

在對AutoCAD 圖形文件進行裁剪處理時,裁剪窗口可能是矩形、多邊形、圓形等不同幾何形狀,但從R 樹結構中檢索與裁剪窗口相交的對象時,是以裁剪窗口的MBR 進行查詢從而實現初步篩選。在圖1中Rc 為裁剪窗口的MBR,查詢與Rc 相交的對象過程如下:

(1)判斷Rc 是否與R0 相交,如果不相交則退出。

(2)Rc 與R0 相交,判斷R0 中各元素的MBR 是否與Rc 相交,不相交的不再繼續(xù)處理。

(3)Rc 與R1、R2 相交,分別判斷R1 和R2 中各元素是否與Rc 相交,不相交則不再繼續(xù)處理。

(4)Rc 與對象c、d 相交,c、d 為最底層對象,無子元素,處理結束,返回查詢結果對象c、d。

圖1:R 樹索引的空間劃分

圖2:R 樹數據結構示意

圖3:某鋼廠dwg 格式圖形數據

根據R 樹索引結構進行空間查詢的過程可知,利用R 樹空間索引進行裁剪時,無需逐個對象進行分析,避免了大量不必要的判斷,能夠有效提高空間查詢的效率。

3 基于R樹的圖形文件裁剪

由于AutoCAD 圖形文件自身不存儲空間索引,因此利用R 樹索引輔助裁剪時需要預先建立R 樹索引結構,而建立索引結構過程中需要遍歷圖形文件中所有對象,如果每次裁剪都遍歷圖形文件中所有對象的話,裁剪效率極低,R 樹也無法充分發(fā)揮作用。如果要進行多次裁剪操作,只需在首次裁剪過程中遍歷全部圖形對象并建立R 樹索引,后續(xù)裁剪則無需重復建立,直接利用已建立的R 樹進行空間查詢,能夠有效提高裁剪效率。

對于大型圖形文件,建立R 樹操作也比較耗時,為了進一步提高圖形裁剪效率,本文提出建立外部R 樹索引文件以用于空間查詢。在圖形文件不改變的情況下,圖形對象的R 樹索引結構也是固定不變的,因此可以預先遍歷整個圖形文件,將建立的R 樹索引結構保存為本地文件存儲。在需要進行裁剪時,直接加載讀取本地R 樹索引文件,而無需再遍歷整個圖形文件,再次提升了裁剪效率。如果圖形文件發(fā)生了改變,只需同步更新對應的外部索引文件即可。

本文的基于R 樹空間索引的AutoCAD 圖形文件快速裁剪過程如下:

(1)索引加載:判斷是否為當前過程的首次裁剪,如果是則加載本地外部索引文件,讀取R 樹索引到計算機內存中,否則無需重復加載R 樹索引。

(2)初步篩選:獲取當前裁剪窗口的MBR,從R 樹索引中查詢MBR 與該MBR 相交的所有對象。

(3)精確篩選:遍歷每個與裁剪窗口MBR 相交的對象,根據查詢對象的句柄ID 獲取該對象實際的幾何形狀,判斷該幾何要素與查詢窗口的幾何要素是否相交,如果相交則進行裁剪處理,否則從結果集合中剔除該對象。

(4)結果輸出:將裁剪窗口內的裁剪結果對象輸出到指定位置。

表1:裁剪性能比較

4 應用實例

為了驗證本文所提出的基于R 樹空間索引的AutoCAD 圖形文件裁剪方法的有效性,基于AutoCAD 軟件進行二次開發(fā)實現了本文的裁剪算法。其中,AutoCAD 軟件版本為2018(64 位),開發(fā)平臺為Visual Studio 2015,編程語言為C#。實驗計算機的配置為4核Intel Core i7 3.4 GHz CPU(算法操作為單線程,僅單核CPU 被使用),8 GB 內存,Windows 10 (64 位)操作系統。本文的處理效率實驗中,運行時間均為運行5 次的平均時間。

實驗測試數據為某鋼廠總圖系統的勘測結果dwg 格式數據,如圖3所示,包含建筑、道路、電力線、燃氣管線、給排水管線等多種類型對象,文件大小178.41 MB,對象個數140.13 萬個。遍歷鋼廠dwg 圖形的所有對象,獲取每個對象的MBR,根據R 樹構建算法[4;5]創(chuàng)建R 樹索引結構,索引創(chuàng)建耗時133.28 s,雖然創(chuàng)建索引耗時相對較長,但只需預先創(chuàng)建一次,裁剪過程中無需再次創(chuàng)建。按二進制將該索引結構序列化到本地磁盤存儲,本地索引文件大小31.94MB,序列化用時4.07 s。在裁剪操作中,本地索引文件只需要在首次裁剪時進行反序列化讀取加載,反序列化耗時10.93 s。

分別選擇不同大小的裁剪窗口進行裁剪實驗,其中窗口大小此處選用占原圖比例表示,裁剪性能結果如表1所示。

從表1可以看出,在裁剪窗口大小為0.1%時,裁圖窗口很小,本文提出的基于R 樹的裁剪方法的處理時間僅需0.42 s,而常規(guī)的無索引遍歷裁剪方式的處理時間是142.79 s,是本文方法所需處理時間的339.98 倍,這主要是由于R 樹索引結構檢索時避免了大量不必要的判斷,由此可見基于R 樹索引的裁圖方法極大地提升了處理效率。

在裁圖窗口比例較小時(≤30%),本文方法均能顯著地減少裁圖處理時間,而在裁圖窗口較大時(≥70%),由于窗口內的待裁剪對象個數比較接近全圖對象個數,R 樹索引查詢所提升的效率有限,但仍比常規(guī)遍歷法的處理性能高。當窗口大小達到100%時,二者性能相當。

在實際工程應用的裁圖處理中,通常裁剪窗口都相對較小,在這種情況下采用本文的基于R 樹索引結構的裁圖方法能夠極大地提高裁圖處理的效率。

5 結語

針對實際工程應用中大型AutoCAD 圖形文件裁剪效率低的問題,本文提出了基于R 樹空間索引的圖形文件裁剪方法。該方法在裁剪操作前預先建立外部索引文件,在裁圖處理中只需要首次加載索引文件即可,通過R 樹索引結構能夠有效地避免不必要的空間分析判斷。通過對某鋼廠總圖系統的dwg 圖形文件進行裁剪實驗可以看出,本文提出的基于R 樹索引結構的裁圖方法與常規(guī)的遍歷裁圖法相比,本文方法能夠高效地進行圖形對象的檢索查詢,提高了圖形裁剪處理的工作效率。并且,除了應用于裁圖過程,在進行大型圖形文件的其他操作時,也可以利用R 樹空間索引來提高計算性能。

猜你喜歡
效率結構方法
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
提升朗讀教學效率的幾點思考
甘肅教育(2020年14期)2020-09-11 07:57:42
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
論《日出》的結構
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
跟蹤導練(一)2
創(chuàng)新治理結構促進中小企業(yè)持續(xù)成長
“錢”、“事”脫節(jié)效率低
主站蜘蛛池模板: 在线观看国产网址你懂的| 精品一区二区三区自慰喷水| 丰满人妻被猛烈进入无码| 国产成人久视频免费| 亚洲国产成人精品一二区| 国产成人久久综合777777麻豆| 亚洲精品国偷自产在线91正片| 亚洲91精品视频| 99久久精品免费观看国产| 久久国产精品影院| 亚洲精品午夜天堂网页| 久久永久视频| 亚洲欧美另类视频| 亚洲成a∧人片在线观看无码| 国产亚洲视频免费播放| 欧美中日韩在线| av手机版在线播放| 黄色免费在线网址| 色成人亚洲| 国产午夜一级毛片| 91久久夜色精品国产网站| 国产91色在线| 五月婷婷丁香色| a毛片在线免费观看| 国产一级α片| 欧美爱爱网| 1024你懂的国产精品| 欧美成人影院亚洲综合图| 亚洲国产AV无码综合原创| 2020最新国产精品视频| 欧美日在线观看| 亚洲日本精品一区二区| 国产精品视频a| 中国毛片网| 日韩av手机在线| 国产小视频a在线观看| 欧美不卡视频一区发布| 久久香蕉国产线看观看亚洲片| 欧美人在线一区二区三区| 色婷婷亚洲综合五月| 99人妻碰碰碰久久久久禁片| 欧美特黄一免在线观看| 免费看美女毛片| 亚洲国产日韩在线观看| 成人在线亚洲| 日本色综合网| 国产亚洲精品97在线观看| 国产亚洲精久久久久久无码AV| 国产激情第一页| www.91中文字幕| 免费AV在线播放观看18禁强制| 国产主播在线一区| 91精品福利自产拍在线观看| 国内精品视频| 丁香婷婷久久| 中文字幕佐山爱一区二区免费| 影音先锋丝袜制服| 欧美国产日韩在线观看| 精品超清无码视频在线观看| 在线观看热码亚洲av每日更新| 国产小视频免费| 精品国产自在在线在线观看| 亚洲a级毛片| 波多野结衣在线一区二区| 巨熟乳波霸若妻中文观看免费 | 色哟哟国产精品一区二区| 久久一色本道亚洲| 青青草原国产av福利网站| 亚洲 欧美 中文 AⅤ在线视频| 香蕉久人久人青草青草| 一区二区午夜| 欧美日韩免费| 欧美一区福利| 天堂网亚洲综合在线| 成·人免费午夜无码视频在线观看| 国产va在线观看| 韩日免费小视频| 国产va免费精品| 精品国产污污免费网站| 亚洲三级电影在线播放| 波多野结衣一区二区三区四区视频| 亚洲69视频|