ArcGIS共享CorelDraw點狀符號方法
【技術領域】
[0001]本發(fā)明涉及地理信息共享與地圖制圖領域,具體涉及一種ArcGIS共享CorelDraw點狀符號方法。
【背景技術】
[0002]符號是地圖的圖解語言,是地理信息表達的基本形式,符號系統(tǒng)也是GIS系統(tǒng)的核心組成部分,然而不同系統(tǒng)符號模型不同,符號的組織與結構差異較大,導致相互之間符號難以共享,地理信息難以有效傳輸。
[0003]在地圖制圖領域,制圖人員常利用CorelDraw與ArcGIS軟件進行地圖的設計與制作,與GIS面向空間數(shù)據(jù)的組織與分析不同,CorelDraw以圖形為中心,主要面向矢量圖形設計與繪制,大量符號資源以圖形形式存在于此類圖形系統(tǒng)之中。然而由于CorelDraw圖形結構與ArcGIS平臺符號結構的差異,導致ArcGIS軟件難以共享CorelDraw系統(tǒng)中的點狀符號圖形,利用CorelDraw設計的點狀符號資源難以應用至ArcGIS軟件,雖然CorelDraw環(huán)境中能夠將點狀符號圖形轉換為柵格圖像格式,并利用ArcGIS的圖片標記符號間接使用這些符號資源,但此種方式將CorelDraw符號原有的矢量數(shù)據(jù)轉換為了 ArcGIS符號的柵格數(shù)據(jù),導致大量點狀符號信息的丟失,同時ArcGIS在渲染柵格點狀符號時,相對矢量點狀符號繪制效率較慢,因此此種方式難以實現(xiàn)GIS共享CorelDraw點狀符號資源。
[0004]為了解決不同系統(tǒng)間符號共享的問題,目前普遍采用符號描述標準、數(shù)據(jù)格式轉換、符號格式轉換、TrueType字體庫、符號對應表等幾種方法,但由于CorelDraw與ArcGIS底層點狀符號結構或圖形結構存在較大差異,現(xiàn)有方法難以支撐ArcGIS共享CorelDraw點狀符號。
[0005]名稱為“AutoCAD圖塊與基于路徑的點狀符號交換方法”(申請?zhí)?01019026028.1,公開號101783023B)、名稱為“TrueType符號與基于路徑的點狀符號交換方法”(申請?zhí)?01019026034.7,公開號101799933B)、名稱為“圖元法點狀符號與基于路徑的點狀符號交換方法”(申請?zhí)?01019026026.2,公開號101751683B)的專利,公開了AutoCAD圖塊、TrueType符號以及圖元法點狀符號與基于路徑的點狀符號交換方法,但它們均未涉及ArcGIS共享CorelDraw點狀符號方法。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于克服現(xiàn)有GIS軟件難以共享圖形系統(tǒng)點狀符號方面存在的缺陷,提供一種ArcGIS共享CorelDraw點狀符號的方法,實現(xiàn)ArcGIS環(huán)境下對CorelDraw點狀符號的最大化共享。
[0007]本發(fā)明的技術方案為一種ArcGIS共享CorelDraw點狀符號的方法,包括構建開放式點狀符號結構(OpenMapSymbol)、CorelDraw圖形向開放式點狀符號數(shù)據(jù)轉換與開放式點狀符號向ArcGIS點狀符號轉換三個部分。
[0008]其中,所述開放式點狀符號結構(OpenMapSymbol,簡稱0MS),用于定義點狀符號,兼容CorelDraw與ArcGIS點狀符號結構,包括以下幾個步驟:
[0009]步驟I字符點狀符號圖層設計,用于描述TrueType字符構建的點狀符號,兼容ArcGIS軟件中的字符標記符號結構;
[0010]步驟2路徑點狀符號圖層構建,用于描述由幾何圖形構建而成的點狀符號,兼容CorelDraw環(huán)境的點狀符號圖形結構以及ArcGIS軟件的簡單標記符號與箭頭標記符號結構;
[0011]步驟3柵格圖像點狀符號圖層建立,用于描述通過柵格圖像定義而成的點狀符號,兼容CorelDraw環(huán)境中柵格圖片符號與ArcGIS軟件的圖片標記符號。
[0012]所述CorelDraw圖形向開放式點狀符號數(shù)據(jù)轉換包括以下幾個步驟:
[0013]步驟ICorelDraw點狀符號圖形數(shù)據(jù)讀取:用于讀取CorelDraw點狀符號圖形數(shù)據(jù),包括讀取CorelDraw符號圖形的幾何數(shù)據(jù),解析CorelDraw符號圖形的輪廓與填充數(shù)據(jù);
[0014]步驟2CorelDraw點狀符號描述信息定制:用于對CorelDraw點狀符號的符號名稱、符號編碼、符號類別與符號比例尺屬性進行設置;
[0015]步驟3CorelDraw點狀符號定位點變換:用于對CorelDraw圖形組成的點狀符號進行定位點轉換,通過包圍盒中心點計算方式或定位點定制方式設置CoreIDraw點狀符號定位點;
[0016]步驟4CorelDraw點狀符號圖形數(shù)據(jù)XML輸出:用于對CorelDraw點狀符號圖形數(shù)據(jù)利用XML進行開放式輸出;
[0017]步驟5CorelDraw圖形單位轉換:用于對構成CorelDraw點狀符號的幾何數(shù)據(jù)進行單位換算,將CorelDraw圖形的幾何單位轉換為開放式點狀符號的毫米單位;
[0018]步驟6CorelDraw圖形幾何數(shù)據(jù)轉換:用于對CorelDraw環(huán)境中點狀符號圖形的幾何數(shù)據(jù)進行轉換,將CorelDraw圖形的幾何數(shù)據(jù)轉換至開放式點狀符號的幾何路徑圖層;具體是指:將CorelDraw點狀符號曲線類型中的直線段轉換為開放式點狀符號直線路徑,曲線類型中的曲線段轉換為開放式點狀符號貝塞爾曲線路徑;CorelDraw矩形類型中的矩形與圓角矩形數(shù)據(jù)分別轉換為開放式點狀符號矩形路徑與圓角矩形路徑KorelDraw橢圓類型中的橢圓與圓弧數(shù)據(jù)分別轉換為開放式點狀符號橢圓與圓弧路徑,圓餅數(shù)據(jù)轉換為開放式點狀符號圓弧與直線路徑集合forelDraw點狀符號的正多邊形數(shù)據(jù)轉換為開放式點狀符號正多邊形路徑,五角星數(shù)據(jù)轉換為開放式點狀符號首尾相連的直線路徑;
[0019]步驟7CorelDraw圖形輪廓數(shù)據(jù)轉換:用于對CorelDraw點狀符號的輪廓數(shù)據(jù)進行轉換,將構成CorelDraw點狀符號圖形的輪廓信息轉換為開放式路徑點狀符號圖層的筆畫數(shù)據(jù);具體是指:將CorelDraw點狀符號中線輪廓屬性轉換為開放式點狀符號筆畫屬性,其中依據(jù)邊界線輪廓類型,將輪廓顏色的RGB或CMYK數(shù)據(jù)轉換至開放式點狀符號筆畫中對應顏色屬性;將輪廓樣式依據(jù)實線與虛線的不同類型,分別轉換為不同數(shù)據(jù);對于實線,直接將寬度、端頭類型、輪廓角類型以及斜接限制數(shù)據(jù)轉換為開放式點狀符號筆畫寬度、端頭樣式、連接樣式以及斜接限制屬性,對于虛線,在上述轉換方法基礎上,將虛線的實段與虛段長度轉換為開放式點狀符號筆畫虛實模式中對應實段與虛段值;
[0020]步驟8CorelDraw圖形填充數(shù)據(jù)轉換:用于對CorelDraw點狀符號的填充數(shù)據(jù)進行轉換,將圖形的填充數(shù)據(jù)轉換為開放式路徑點狀符號圖層的填充數(shù)據(jù);具體是指:對于CorelDraw點狀符號均勻填充,將均勻填充的RGB或CMYK顏色數(shù)據(jù)轉換為開放式點狀符號簡單填充對應顏色屬性,對于CorelDraw點狀符號漸變填充,將漸變填充的類型與RGB或CMYK顏色數(shù)據(jù)轉換為開放式點狀符號漸變填充對應屬性,對于CorelDraw點狀符號圖形的圖樣填充、底紋填充、PostScript填充,將其通過柵格圖像的方式轉換為開放式點狀符號的柵格圖像點狀符號圖層;
[0021]所述開放式點狀符號向ArcGIS點狀符號轉換包括以下幾個步驟:
[0022]步驟I開放式點狀符號數(shù)據(jù)轉換:用于將開放式點狀符號數(shù)據(jù)轉換為ArcGIS點狀符號,并將開放式點狀符號數(shù)據(jù)存儲至ArcGIS符號庫文件;具體是指,將開放式點狀符號中路徑點狀符號圖層的幾何數(shù)據(jù)、筆畫數(shù)據(jù)與填充數(shù)據(jù)序列化至ArcGIS符號庫文件,將開放式點狀符號字符點狀符號圖層中的字符數(shù)據(jù)以及柵格圖像點狀符號圖層中的柵格圖像及屬性數(shù)據(jù)轉換為ArcGIS點狀符號中的字符標記符號數(shù)據(jù)與圖片標記符號數(shù)據(jù);
[0023]步驟2ArcGIS點狀符號繪制擴展:用于對ArcGIS點狀符號繪制方式進行擴展,支持開放式點狀符號的繪制接口 ;具體是指,基于ArcGIS符號自定義設計模式,將開放式點狀符號的繪制接口及繪制方法應用至ArcGIS標記符號的繪制接口。
[0024]本發(fā)明的方法著重突出不同系統(tǒng)間符號數(shù)據(jù)的共享方法,為ArcGIS共享CorelDraw點狀符號提供了一條新的技術路線。利用該方法,能夠在ArcGIS平臺中使用CorelDraw軟件制作的點狀符號,實現(xiàn)ArcGIS共享CorelDraw點狀符號,提高符號的使用效率,從而減少符號制作的不必要重復勞動,提高地圖產(chǎn)品的制圖效率。
【附圖說明】
[0025]圖1為本發(fā)明的開放式點狀符號結構示意圖;
[0026]圖2為本發(fā)明的ArcGIS共享CorelDraw點狀符號示意圖;
[0027]圖3為本發(fā)明的CorelDraw點狀符號XML輸出文件結構示意圖;
[0028]圖4為本發(fā)明的CorelDraw圖形幾何數(shù)據(jù)轉換為開放式點狀符號路徑數(shù)據(jù)示意圖;
[0029]圖5為本發(fā)明的CorelDraw圖形輪廓轉換為開放式點狀符號筆畫示意圖;