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

QGIS插件技術在點狀地圖符號轉換中的應用

2023-10-19 08:23:52陳雅慧
地震地磁觀測與研究 2023年3期
關鍵詞:符號

陳雅慧

(中國北京 100045 中國地震臺網中心)

0 引言

地震系統的核心技術以及軟硬件設備要確保可靠、可信、可控。因此,地震應急業務系統有從商業軟件向開源軟件轉換的迫切需求,制作各類專題地圖是轉換的直接體現。

在地震系統日常業務中,專題圖多采用美國ESRI公司旗下的ArcGIS軟件進行制作,并積累了一套地震數據特有符號庫,該符號庫能夠增強地圖可讀性,豐富地圖的可視化表達,進而傳遞出災區基本情況和災情信息,在地震災害應急指揮及救援管理中發揮著重要作用。但商業軟件昂貴,且難以獲得開發版權,制圖軟件開源化發展成為必然。

地圖符號庫轉換成為跨平臺應用的關鍵問題。為了符合地圖制圖規范,減少符號重復設計等工作,跨平臺的地圖符號共享成為研究熱點(陶陶等,2007)。目前,地圖符號共享的研究主要分為2類,一類是研究不同數據格式之間的符號共享(陳夢琳等,2015;王志強等,2020),另一類是研究統一標準的符號共享,包括通用圖形標準(吳明光等,2011;陳長林,2018)、通用地圖符號(王本林等,2018)、統一行業標準(Liu et al,2016)等,還有對符號共享的可用性評價(廖嫣然等,2022)。

QGIS是基于Python和C++語言研發的開源制圖軟件。其用戶界面友好,支持多類型數據加載,符號編輯功能豐富,在制圖方面更具優勢。而且,QGIS支持插件,可以通過編譯插件擴展軟件的制圖功能。本文將符號讀取、屬性轉換、符號輸出功能集成在QGIS插件內,成功實現ArcGIS符號庫點符號向QGIS的遷移,且遷移前后點符號的制圖功能和效果完全相同。

1 插件構建方法

運用QGIS技術創建的點符號轉換插件主要用于數據處理和分析,且用戶界面只需要文件輸入和輸出部件。

QGIS插件開發主要有2種方式,一種是手動創建,另一種是自動創建。自動創建是利用Plugin Builder生成固定的插件模板,通過對模板文件的編譯實現相應功能,比手動創建簡便。此外,自動創建的插件模板有3個,分別為Tool button with dialog(帶有對話框的工具按鈕)、Tool button with dock widge(t帶部件的工具按鈕),以及Processing Provide(r處理框架)。與前2個模板相比,Processing Provider模板能夠生成固定插件界面,簡化設計界面流程。對比發現,使用Processing Provider自動創建方法能夠更簡單快速地構建插件,且插件既能夠用于數據批處理,也能夠被Python控制臺調用。

2 點符號轉換功能設計

同一類型的符號在ArcGIS和QGIS平臺中使用的函數庫不同,基于QGIS技術設計的點符號轉換插件可以使兩平臺同類型符號匹配。本插件在QGIS平臺生成的新符號與ArcGIS中的同類型符號具有相同的功能、屬性和展示效果。

程序總體流程(圖1)為:①輸入ArcGIS“.style”符號庫文件,對文件中的全部符號進行遍歷循環,提取各類數據;②對數據進行解碼,獲得符號對象的多種屬性信息和guid值(全局唯一標識符,用于識別每個符號的類型,在QGIS創建符號時能夠通過判斷符號類型添加對應的符號屬性);③將解碼得到的各種屬性與QGIS中的相同屬性建立一一對應關系,實現兩平臺符號屬性的轉換;④對多層符號進行符號層疊加,并將全部符號統一輸出為XML文件。根據實際需求,本次只完成點符號中的簡單標記符號和字符標記符號2類符號的轉換。

圖1 QGIS點符號轉換程序流程Fig.1 Flowchart of QGIS point symbol conversion program

2.1 符號讀取

調用Access數據庫軟件打開“.style”符號庫文件,查看每個符號屬性表,其中包括ID、Name、Category、Tags和Object,Tags中記錄了符號層數(多圖層)、色彩模式(rgb、hsv等)、顏色值(藍色、白色、綠色等)、符號類別(字符、簡單)和字體(ESRI Default Marker等)等屬性。參考這些標簽,在符號屬性轉換模塊中定義相應的轉換函數。

通過對Object進行后臺解碼,獲取每個符號的二進制數據(BLOB),這些數據包含了Tags中涉及的全部符號屬性信息,這些不同類型的屬性信息(int、string、double、uchar等類型)需要通過創建對應的讀取方法獲得其屬性值。調用這些方法可以得到簡單標記符號(Simple Marker Symbol)的符號層數、點類型Style、符號大小Size、X和Y的偏移量Offset和輪廓線Outline等屬性;得到字符標記符號(Character Marker Symbol)的符號層數、Unicode值、旋轉角度Angle等屬性。

在符號的二進制數據中還能夠提取guid值。在ArcGIS中每類符號具有唯一guid值,如簡單標記符號為“7914e5fe-c892-11d0-8bb6-080009ee4e41”,若待轉換符號的guid值與之相匹配,則判斷該符號為簡單標記符號,進而按簡單標記符號的創建方法添加符號屬性。這種方法能夠確保符號類型的唯一性,便于快速識別并創建符號。

2.2 符號屬性轉換

在符號屬性轉換模塊中,本插件定義了多種轉換函數,這些函數通過調用QGIS提供的各種類庫和函數接口,將ArcGIS符號屬性轉換為QGIS中相同的符號屬性,實現兩軟件平臺符號屬性的統一。

2.2.1 簡單標記符號。ArcGIS中的Simple Marker Symbol簡單標記符號類型對應QGIS中的Simple Marker類型。簡單標記符號的屬性參數有Color、Style、Size、X Offset、Y Offset、Outline Color和Outline Size。在兩平臺中,有些屬性參數能夠直接進行關聯,關聯方法是,導入QGIS中的core、gui等核心包和模塊,調用相應方法給參數賦值。如:代碼(a)為創建參數點類型(Style)轉換方法,其中ArcGIS中的“X”形狀對應QGIS中的“Cross2”形狀。有些屬性參數轉換需要通過數學運算來實現,如:代碼(b)為顏色轉換,QGIS軟件中只有HSV和RGB2種色彩模式,因此對ArcGIS中的部分以CMYK顯示顏色的點符號來說,需要考慮不同色彩模式的成色原理,實現參數Color的轉換。

代碼(a):

2.2.2 字符標記符號。ArcGIS中的Character Marker Symbol字符標記符號類型對應QGIS中的Font Marker類型。字符標記符號的屬性參數有Font、Unicode、Size、Angle、Color和Offset。與簡單標記符號的轉換類似,除了要轉換能夠直接關聯的屬性參數外,還需要運用數學運算完成符號角度參數的轉換。在ArcGIS中,隨著角度數值的增大,符號呈逆時針轉動,而在QGIS中則相反,角度數值增加,符號順時針轉動。由此通過數學運算中的角度換算,定義了角度轉換函數,用360°減去ArcGIS中的符號角度值則為QGIS中的符號角度值。這些數學運算實現了兩平臺符號角度的一致性。

2.3 符號創建及輸出

符號創建包括單層符號和多層符號,本插件定義了符號(層)創建函數,通過調用符號屬性轉換模塊中的屬性轉換方法,為符號的每一層添加轉換后的屬性參數,調用qgis.core核心包中的QgsSimpleMarkerSymbolLayer和QgsFontMarkerSymbolLayer方法創建對應的2類點符號(層)。

此外,定義符號創建函數對符號的層數進行判斷,單層符號直接創建,多層符號疊加后創建。點符號轉換插件的輸出結果為“.xml”格式文件,通過調用QgsStyle.exportXml方法將新創建的全部點符號打包輸出為XML格式符號庫。轉換后的符號庫能夠在QGIS軟件的樣式管理器中直接導入使用。

2.4 運行調試

2.4.1 插件激活。在QGIS的插件管理器中識別并啟用已經編譯的點符號轉換插件“Marker Symbol”。插件置于Processing ToolBox菜單欄,激活后雙擊運行。

2.4.2 插件調試。插件初次運行程序經常報錯,需不斷調試并反復修改。使用插件重載器插件(Plugin Reloader),可對自定義插件執行重載、加載和卸載的指令,無需重啟QGIS軟件即可實現自定義插件的修改和測試。

3 符號轉換結果對比

以目前地震應急專題圖系統在用的“ArcGIS災情信息標繪符號庫”為例,運行點符號轉換插件進行符號轉換。共讀取符號192個,其中點符號141個,由插件運行日志中記錄的符號轉換進度,141個點符號按符號ID順序依次讀取、轉換、輸出,用時小于3 s。與人工制作符號相對比,運用QGIS插件技術縮短了符號轉換時間,實現了地圖符號從ArcGIS向QGIS的快速批量遷移。將插件運行后生成的.xml文件導入QGIS插件管理器,導入結果見圖2。

圖2 點符號轉換結果Fig.2 Result of point symbol conversion

在符號外觀方面,與原ArcGIS符號庫(圖3)相比,127個點符號完全轉換成功,14個符號在顏色、形狀和大小上也完成轉換,但仍有少量符號層偏移現象,如“中型水庫”符號,需人工調整。存在符號層偏移的原因可能有:①ArcGIS與QGIS軟件的符號單位不一致,如QGIS支持用像素為單位設置符號尺寸,而ArcGIS用點,二者之間的轉換關系需進一步研究;②在編寫符號轉換插件過程中,算法參數不適用,需根據實際情況調整。整體來說,本次符號外觀轉換成功率大于90%。此外,QGIS符號的顏色渲染和美觀度優于ArcGIS,符號整體效果更簡潔清晰。

圖3 原ArcGIS符號庫Fig.3 Original ArcGIS symbol library

在符號功能方面,ArcGIS中的符號為矢量格式,能夠根據圖幅比例調整符號大小,并且能夠更改符號顏色。經插件轉換后的QGIS點符號同樣支持基礎的屬性修改功能,包括顏色、透明度、大小、偏移量、旋轉角度等參數設置,證實了用QGIS插件技術完成點符號轉換能夠達到平臺間符號共享的目的。

4 成果應用

“災情信息標繪符號庫”QGIS轉換版已在地震應急日常業務工作中得到應用,如震前準備圖件制作、專題圖模板的快速產出制作等。最新部署的地震應急快速評估與協同系統配置了QGIS版本的多個專題圖模板,其使用的點狀地圖符號均由本點符號轉換插件“Marker Symbol”生成。以2022年9月5日四川瀘定MS6.8地震為例,系統自動產出A3、A4幅面震后第一時段專題圖共14張,文中繪出地震快速評估影響范圍圖,見圖4中右側圖件,左圖為ArcGIS產出圖件,對比可見,QGIS產出圖件符號顏色顯示更均勻,對比度柔和,各要素間無遮蓋,整體成圖效果簡潔、清晰。

圖4 評估系統產出的四川瀘定MS 6.8地震影響范圍專題圖Fig.4 Thematic maps of the influence area of the Luding MS 6.8 earthquake in Sichuan from assessment system

5 結束語

QGIS插件技術在點狀地圖符號轉換中的應用,證明基于QGIS插件技術能夠提高符號轉換效率,減少重復工作,實現快速批量轉換,且符號轉換成功率較高。經插件轉換后的點狀地圖符號具有以下優勢:①符號分辨率高、圖案清晰;②符號形狀標準、大小可調;③符號顏色鮮明、色彩可換;④符號信息齊全、屬性可更改;⑤符號功能完備,專題圖件要素完整、表達精確;⑥符號適用于不同比例尺、不同地圖幅面的專題圖制作;⑦符號制圖效果與在ArcGIS軟件中相同,甚至優于ArcGIS,達到直接應用的標準。由此可見,QGIS插件技術具有較強的可操作性,是ArcGIS平臺向QGIS平臺轉換的重要工具,不但可以實現不同平臺間的符號共享,還可在其他行業和領域中實現更廣泛的應用。

然而,采用QGIS插件技術轉換后的部分符號會出現符號層偏移現象,可能與兩平臺符號單位不同有關。此外,特殊字體轉換差異可能導致符號轉換錯誤。以上問題仍需進一步研究。

猜你喜歡
符號
幸運符號
符號神通廣大
學符號,比多少
幼兒園(2021年6期)2021-07-28 07:42:14
“+”“-”符號的由來
靈魂的符號
散文詩(2017年17期)2018-01-31 02:34:20
怎樣填運算符號
變符號
倍圖的全符號點控制數
圖的有效符號邊控制數
草繩和奇怪的符號
主站蜘蛛池模板: 久久久成年黄色视频| 91在线视频福利| 黄色片中文字幕| 四虎成人在线视频| 国产日韩欧美在线视频免费观看 | 9啪在线视频| 色窝窝免费一区二区三区| 精品无码一区二区三区电影| 国产成人精品一区二区三在线观看| 午夜综合网| 91成人免费观看| 囯产av无码片毛片一级| 91麻豆精品国产高清在线 | 中文字幕 91| 欧美精品综合视频一区二区| 色偷偷一区二区三区| 色偷偷一区| 99热在线只有精品| 自拍中文字幕| 久久综合亚洲色一区二区三区| 久久美女精品| 欧美视频免费一区二区三区| 亚洲无码91视频| 国产日韩精品欧美一区喷| 亚洲精品无码日韩国产不卡| 99re精彩视频| 女人av社区男人的天堂| 欧美视频在线不卡| 亚洲第一天堂无码专区| 日韩久久精品无码aV| 激情无码字幕综合| 风韵丰满熟妇啪啪区老熟熟女| 亚洲人成色在线观看| 666精品国产精品亚洲| 欧美不卡视频在线| 久久国产精品麻豆系列| 国产剧情一区二区| 97一区二区在线播放| 精品久久高清| 欧美、日韩、国产综合一区| 国产色偷丝袜婷婷无码麻豆制服| 九色在线观看视频| 亚洲区第一页| 成人福利免费在线观看| 亚洲AⅤ无码日韩AV无码网站| 青青青国产视频| 天天躁日日躁狠狠躁中文字幕| 经典三级久久| 亚洲一区二区三区麻豆| 夜夜操国产| 亚洲日韩日本中文在线| 亚洲aaa视频| 国产精品粉嫩| 中国丰满人妻无码束缚啪啪| 国产精品视频猛进猛出| 国产在线精品人成导航| 国产二级毛片| 午夜毛片免费观看视频 | 沈阳少妇高潮在线| 国产成人综合久久精品尤物| 嫩草国产在线| 亚洲天堂精品在线| 久久黄色免费电影| 天天综合色网| 91探花国产综合在线精品| 成人中文字幕在线| 国内99精品激情视频精品| 亚洲第一成网站| 国产情侣一区二区三区| 国产精品亚洲综合久久小说| 成人欧美在线观看| 欧美成人免费一区在线播放| 一级爆乳无码av| av一区二区三区高清久久| 国产微拍一区二区三区四区| 精品一区二区三区波多野结衣| 国产精品永久免费嫩草研究院| 在线视频一区二区三区不卡| 4虎影视国产在线观看精品| 国产精品永久免费嫩草研究院| 欧美无专区| 色婷婷亚洲十月十月色天|