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

一種高壓縮率的空間數據序列化方法在輸電線路通道數據分析中應用

2022-07-21 06:00:12劉雨
云南電力技術 2022年3期
關鍵詞:定義規范方法

劉雨

(昆明能訊科技有限責任公司,云南 昆明 650217)

0 前言

隨著電網數字化的推進,與之相關的空間數據的數據量也在飛速增長。以云南省為例,僅電網設備的空間數據就已突破億級,每個設備上掛載有數個到數十個不等的關聯要素的空間屬性,粗略估算,云南省的空間數據占用已達PB級。迫切需要一種高壓縮率的空間數據序列化方案,解放硬盤、內存、網絡帶寬等資源,為用戶帶來流暢、輕量的地圖使用體驗。

傳統的空間數據存儲和傳輸中,一般按照開源組織OGC提出的WKB(Well-known Binary)規范[1],將空間數據序列化為二進制流,以點數據為例,WKB將其壓縮為如下格式:

因此,WKB規范下,一個點對象需要占用1+4+8+8+8=29個字節,其中,字節序僅為兼容高位在前的壓縮方式而存在,x、y、z坐標總是占用8字節,對于精度已知的坐標也是一種壓縮浪費。可見,WKB的壓縮方案存在較大的空間浪費問題。

另一方面,WKB僅定義了空間數據的序列化規范,而電網數據往往關聯諸如編號、名稱等屬性,需要一種方法能夠將屬性與空間數據一并序列化,使得具有屬性關聯的業務能夠便捷、高性能地開展。

1 基于protobuf的空間數據序列化規范設計

protobuf (protocol buffer)[3],谷歌內部的混合語言數據標準。通過將結構化的數據進行序列化(串行化),用于通訊協議、數據存儲等領域的語言無關、平臺無關、可擴展的序列化結構數據格式。

本文基于protobuf設計空間數據的序列化規范,主要考慮到protobuf的如下優點:protobuf 用字段索引和字段類型通過算法計算得到字段之前的關系映射,從而達到更高的時間效率和空間效率,特別適合對數據大小和傳輸速率比較敏感的場合使用;另一方面,protobuf支持對double數據類型的不定長壓縮,也特別適合解決前文提到的定長數值在空間坐標上的浪費問題。

根據OGC[2]規范,空間對象類型分為以下7種:Point(點)、LineString(線)、Polygon(面)、Multi Point(多點)、MultiLineString(多線)、MultiPolygon(多面)、GeometryCollection(幾何容器),本文對這7種空間對象的protobuf格式進行了定義。

1.1 各類空間對象的protobuf定義

Point類型定義如下:

由于x、y、z是不定長的,且大部分電網空間數據的精度只到米級,只需4個字節即可無損描述,因此,大部分點類型數據只需要4+4+4=12個字節即可存儲,即是考慮到預留位等,其大小也比WKB小許多。

LineString類型定義如下:

采用3個double數組存儲x、y、z坐標串。Polygon類型定義如下:

采用3個double數組存儲x、y、z坐標串,并用分隔符來確認多邊形上各個環的位置。

余下4種類型的定義與Polygon的定義類似,均采用了坐標串和分隔符結合的方案,故不再贅述,完整的定義已開源至gitee.com/wowtools/gis/blob/master/ProtoFeature.proto供讀者詳細查閱。

1.2 關聯屬性的protobuf定義

關聯屬性的定義如下:

采用key/value的方式來存儲關聯屬性,為了進一步壓縮冗余數據,key、value不存儲具體的值,而是為相同的值賦予相同的編號,key、value僅存儲編號,從而大幅減少了相同值的空間占用。

特別地,對于存在多層級嵌套的關聯屬性,定義一個sub key/value以允許屬性的嵌套。

2 方法實現與驗證

2.1 方法實現

我們利用google開源的工具protoc,將本方法所述的protobuf規范編譯為java代碼,并封裝了常用的工具函數,將其打包為本方法對應的java實現工具包,并對工具包的壓縮率及對屬性的支持進行驗證。

2.2 壓縮率驗證

我們選擇RFC 7946規范中提及的示例空間數據作為測試數據,分別以WKB規范和本文所述方法進行序列化,并比對序列化后的字節數,結果如表1所示。

表1 RFC 7946規范數據壓縮率比較

可見,對于不同類型的空間數據,對比WKB,本方法的壓縮率都有較為明顯的提高。

2.3 屬性支持驗證

我們對Java中的8種基本數據類型及string、嵌套類型分別進行了驗證,數據被正確地序列化、反序列化,且數值精度未發生丟失,說明本方法對于屬性的支持是正確和準確的。

3 應用實例

3.1 大數據量的空間數據展現

我省的樹障隱患數據大約有120萬條,需要將這些數據的分布情況在web地圖上展現出來(如圖1所示),無疑需要占用極大的網絡帶寬和瀏覽器內存,我們采用本方法,結合矢量瓦片技術與webgl展現技術,將數據量壓縮到了4.8MB,并使得樹障隱患數據在配置較差的電腦上也能流暢運行。

圖1 大數據量的樹障隱患空間數據展現

3.2 空間數據與屬性的天然融合

在輸電線路分析業務中,往往需要結合設備本體、電網風險、環境因素等多個領域的數據,綜合給出判斷結果,本方法解決了空間數據字節流無法攜帶屬性信息的問題,將空間數據與業務數據天然地融合(如圖2所示)在一起,使得前端業務展現和分析時,無需考慮繁雜的數據融合問題,開發者可將更多的精力投入到業務應用上。

圖2 空間數據與電網屬性的天然融合

4 結束語

本文提出了一種高壓縮率的空間數據序列化方法,用以解決WKB規范在壓縮率和屬性傳輸上的不足。通過本方法的研究和實現,為大數據量、復雜屬性的GIS業務場景提出了一種可行方案和工具。

猜你喜歡
定義規范方法
來稿規范
來稿規范
PDCA法在除顫儀規范操作中的應用
來稿規范
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
主站蜘蛛池模板: 亚洲国产综合精品一区| 亚洲综合九九| 少妇精品久久久一区二区三区| av一区二区三区高清久久| 亚洲中文字幕av无码区| 国产丝袜一区二区三区视频免下载| 国产成人精品亚洲日本对白优播| 毛片免费视频| 99热国产这里只有精品无卡顿"| 欧美区国产区| 国产毛片不卡| 91视频精品| 成人午夜网址| 麻豆精品国产自产在线| 亚洲品质国产精品无码| 国产啪在线| 亚洲国产综合自在线另类| 免费无码AV片在线观看中文| 国产香蕉国产精品偷在线观看| 午夜毛片免费观看视频 | 在线播放国产一区| www.日韩三级| 亚洲国产日韩一区| 国产精品第页| 婷婷久久综合九色综合88| 尤物成AV人片在线观看| 国产99欧美精品久久精品久久| 黄色网站不卡无码| 欧美福利在线| 精品国产美女福到在线直播| 亚洲美女高潮久久久久久久| 久久久久亚洲AV成人网站软件| 日韩欧美中文在线| 制服丝袜 91视频| 国产波多野结衣中文在线播放| 成人无码一区二区三区视频在线观看 | 亚洲第一在线播放| 女人18毛片久久| 孕妇高潮太爽了在线观看免费| 亚洲人成网站观看在线观看| 国产97色在线| 精品亚洲麻豆1区2区3区| 日本亚洲国产一区二区三区| 国产sm重味一区二区三区| 中文字幕 日韩 欧美| 国产粉嫩粉嫩的18在线播放91| 国产成人精品综合| 99视频在线观看免费| 亚洲精选高清无码| 免费无码又爽又黄又刺激网站| 久久精品国产免费观看频道| 亚洲欧洲一区二区三区| 婷婷六月激情综合一区| 911亚洲精品| 欧美国产日产一区二区| 久996视频精品免费观看| 国产极品美女在线播放| 91福利在线看| 中文字幕乱妇无码AV在线| 国产精品手机在线播放| 日本www在线视频| 国模粉嫩小泬视频在线观看| 欧美不卡在线视频| 欧美综合一区二区三区| 午夜福利亚洲精品| 中文字幕中文字字幕码一二区| 国产成人免费| 色综合成人| 国产波多野结衣中文在线播放| 中国毛片网| 亚洲人成人伊人成综合网无码| 中文无码精品A∨在线观看不卡 | 高h视频在线| 久久女人网| 精品人妻一区无码视频| 欧美一区二区啪啪| 最近最新中文字幕免费的一页| 国产精品成人免费综合| 污污网站在线观看| 国产久草视频| 丰满的熟女一区二区三区l| 中国特黄美女一级视频|