背景
電子圍欄,這個在GIS應用中非常常見的詞,在很多業務場景中都可以使用:
電子圍欄的常見手段是圈出一塊,或者一些多邊形,當被監控物件在多邊形內或者多邊形外時(根據業務模型),作為一個判斷條件,觸發一些業務規則,
1、禁飛區
玩大疆無人機的話,你一定要知道哪里是禁飛區,否則可能違法被抓,但是你可能并不知道哪里是禁飛區,還有飛行高度的限制,
有了電子圍欄,可以在飛行器內置這樣的功能,你就可以放心的飛了,比如到達了禁飛區后,飛行器可以發出告警,禁止飛行,

2、共享單車還車點
共享單車亂擺放是個問題,原因是什么地方都能還車,使用電子圍欄,可以約束用戶的還車點,只允許用戶將自行車停在某個空間內,或不在某個空間內才能還車,

3、汽車禁行區
例如,某些汽車,在某個時間段不允許出現在某個區域內,
例如限行車輛,例如危化品車輛、黃沙車、貨車等的行駛范圍,以往,我們只能靠攝像頭、或者靠警力來管理,加入電子圍欄,一切都變得更簡單,

4、國界線
這個是有非常鮮明的地理屬性的,電子圍欄,結合流式計算,可以非常實時的發現例外,

5、山頭線
我記得小時候,我們那里的班車線路都是承包的,誰要是敢亂拉客,車子可能是會被砸掉的,實際上這個也是一些商業邊界的問題,如果商業邊界涉及到地理資訊,通過電子圍欄,可以更加方便的實作邊界控制和管理,
6、遠程打卡,當你進入了辦公區域附近(電子圍欄)時,才允許打卡,
7、遠程辦公管理,公司可以劃定一些可以辦公的常用地的多邊形,當員工出了這個區域時,觸發事件,
8、公務用車、商用車輛的行駛區域管理,出了區域,可以觸發事件,
9、放牧管理,例如在大草原放養的動物,可以掛上GPS跟蹤器,劃定電子圍欄,出了區域,觸發事件,
10、假釋人員的管理,不在需要投入大量警力跟蹤假釋人員,當然人的管理更加復雜,因為跟蹤器可能更換,
11、... ...
試想一下,當每個物件都帶上空間屬性后,還有很多很多很多場景,可以設定電子圍欄,
空間資料的處理,將會是一片巨大的藍海,
圍欄除了空間屬性,還可以有其他屬性,PostgreSQL提供了btree_gist介面,可以對空間、標量欄位建立聯合索引,提高性能,
https://www.postgresql.org/docs/10/static/btree-gist.html
同時PostgreSQL還支持空間獨立排他約束,可以防止圍欄重疊,
https://www.postgresql.org/docs/10/static/ddl-constraints.html#ddl-constraints-exclusion
PostgreSQL 深耕空間資料管理數十年,一定能服務好這片業務,一起來為人類發展做出貢獻,
電子圍欄性能
電子圍欄中,最常用的手段是點面判斷,對于共享單車業務,我們為了防止自行車亂停放,可以圈定可以換車、或者不能換車的點(視業務需求),創建很多的多邊形區域,當用戶還車時,上報車輛位置,同時判斷是不是落在可以換車的點,或者不能換車的點內,決定用戶是否可以在當地還車,
可能有千萬、甚至更多的多邊形面,
這個需求和菜鳥的配送調度類似,也有點面判斷的需求,下面是一個設計和性能測驗
《菜鳥末端軌跡 - 電子圍欄(解密支撐每天251億個包裹的資料庫) - 阿里云RDS PostgreSQL最佳實踐》
1000萬個多邊形,根據位置查詢這個位置在哪個面里面,或者有沒有面包含了這個點,
PostgreSQL單機可以達到251億次/天的點面判斷請求的性能,
作者丨digoal
本文來自博客園,作者:古道輕風,轉載請注明原文鏈接:https://www.cnblogs.com/88223100/p/Application_scenarios_and_performance_of_PostgreSQL_electronic_fence.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/532626.html
標籤:其他
上一篇:第七章-概念結構設計
下一篇:第七章-概念結構設計

