PostgreSQL 電子圍欄的應用場景和性能

来源:https://www.cnblogs.com/88223100/archive/2022/11/13/Application_scenarios_and_performance_of_PostgreSQL_electronic_fence.html
-Advertisement-
Play Games

PostgreSQL , 電子圍欄 , 共用自行車 , 共用充電寶 , 共用xxx , 菜鳥 , 航空管制 , 無人飛行器 , pipelinedb , 流式計算 ...


 

 

背景

電子圍欄,這個在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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • JZ61 撲克牌順子 描述 現在有2副撲克牌,從撲克牌中隨機五張撲克牌,我們需要來判斷一下是不是順子。 有如下規則: 1. A為1,J為11,Q為12,K為13,A不能視為14 2. 大、小王為 0,0可以看作任意牌 3. 如果給出的五張牌能組成順子(即這五張牌是連續的)就輸出true,否則就輸出f ...
  • 核心思路是使用Region的求交集和並集的結果與原始Region對比 Winform項目自帶這個類庫,如果使用控制台,需要先在nuget安裝System.Drawing.Common /// <summary> /// 計算兩個形狀的關係 /// </summary> /// <param name ...
  • C#11添加了文件作用域類型功能:一個新的file修飾符,可以應用於任何類型定義以限制其只能在當前文件中使用。 這樣,我們可以在一個項目中擁有多個同名的類。 通過下麵的項目顯示,該項目包含兩個名為Answer的類。 文件File1.cs中 namespace ConsoleApp11 { file ...
  • carbon copy cloner 6 for Mac是一款支持數據同步和備份的磁碟克隆備份工具,Carbon Copy Cloner軟體設計的初衷就是智能到讓人忘記它的存在。界面簡單、易於配置,但後臺各種強大,甚至可設定插上某個移動硬碟時自動開始備份。支持自動備份到另一個目錄、備份到移動硬碟、備 ...
  • ASF掛卡部署,非搬運且親測有效。 一、如何下載ASF 1.下載ASF對應版本 首先你需要確定自己的系統環境,這裡我採用的是centos7.6,即linux64位系統作為演示。第一步進入github查看最新的ASF版本,鏈接如下:https://github.com/JustArchiNET/Arc ...
  • 無屏幕、無網線、根目錄wpa_supplicant失效,甚至沒電腦也可以實現。 以前跑樹莓派一直是用的ubuntu和raspbian,突然想試試centos。因為我沒有單獨的顯示屏,往常格式化寫鏡像之後,都是根目錄寫入ssh和wpa_supplicant,開機自動聯網獲得樹莓派ip就能ssh命令行登 ...
  • 背景 隨著移動設備的普及,越來越多的業務具備了時空屬性,例如快遞,試試跟蹤包裹、快遞員位置。例如實體,具備了空間屬性。 例如餐飲配送,送貨員位置屬性。例如車輛,實時位置。等等。 其中兩大需求包括: 1、對象位置實時跟蹤,例如實時查詢某個位點附近、或某個多邊形區域內的送貨員。 2、對象位置軌跡記錄和分 ...
  • 7.1 資料庫設計概述: 資料庫設計一般定義:資料庫設計是指對於一個給定的應用環境,構造(設計)優化的資料庫邏輯模式和物理結構,並據此建立資料庫及其應用系統,使之能夠有效地存儲和管理數據,滿足各種用戶的應用需求,包括信息管理要求和數據操作要求 定的應用環境:一個資料庫不可能什麼數據都接收,如在學校或 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...