?

基于PostGIS 獲取人員地理活動信息的設計與實現

2023-08-09 15:26李志翔
計算機應用文摘·觸控 2023年15期
關鍵詞:空間數據數據庫區域

摘 要:PostGIS是開源關系數據庫系統 PostgreSQL 基于地理信息系統的擴展插件。文章分析對比了Oracle,MySQL與 PostgreSQL3 種空間數據庫對地理信息系統的支持,并深入研究了 PostgreSQL搭載 PostGIS 模型的架構與原理,最后基于研究結果,提出了一種基于 PostGIS 獲取人員相關地理活動信息的方案,并對其進行了實現。

關鍵詞:PostGIS;PostgreSQl;地理信息系統

中圖法分類號:TP311文獻標識碼:A

1 引言

隨著地理信息系統的發展,各行各業基于地理信息系統的業務逐漸增多,與此同時,數據庫不斷發展,已成為地理信息系統的重要組成部分。如何建立空間數據庫,以及如何實現業務與地理信息系統的交互,成為重要的研究課題。

2 空間數據庫模型

地理信息系統( Geographic Information System,GIS)的發展過程主要經歷了3 個階段[1] ,具體如下。一代地理信息系統:在最初的地理信息系統中,

空間數據是存儲在平面文件中的,并且這些數據是需要專門的軟件來解析和處理的。

二代地理信息系統:其核心是能夠剝離空間數據與非空間數據,系統將非空間數據存儲于關系數據庫中(Relational DataBase Management System,RDBMS),但空間數據與一代相同,仍存儲于平面文件中。

三代地理信息系統:其將空間數據與非空間數據同時存儲于空間數據庫中,使數據完全集成在一起。GIS 工具能夠通過sql 語句直接訪問地理數據庫。

根據三代GIS 發展歷程可見,GIS 對數據庫的要求也在逐步提高,從關系型數據庫發展到空間數據庫,而空間數據庫與其他數據庫不同的是能夠處理相關的地理空間數據。所謂地理空間數據,指的是能夠通過符號化來表示空間現象與記錄事務。

空間數據庫是對象的地理空間數據存儲與管理的媒介,已成為GIS 的核心支撐,因此擁有一個良好的數據庫是GIS 成功與否的關鍵。

空間數據庫的主要代表有Oracle 的Oraclespatial,MySQL 以及PostgreSQL 的PostGIS3 種,這3 種都能滿足一般的空間數據庫需求,各自具有不同的優勢與缺陷[2] 。

3 PostgreSQL 與PostGIS 模型

3.1 模型簡介

PostgreSQL 的前身是伯克利1977 年的Ingres 項目,經過不斷發展與完善,使其成為一個可靈活擴展的數據庫服務器[3] 。PostgreSQL 包含類繼承機制,具有面向對象的特性,還支持豐富的數據類型,可跨平臺開發,是目前支持平臺最多的數據庫管理系統。

僅依靠PostgreSQL 自有的功能無法滿足空間數據庫的要求,主要體現在其缺乏復雜的空間類型,沒有提供空間分析、投影變換等功能。為達到空間數據庫的使用標準,PostGIS 應運而生。

PostGIS 是PostgreSQL 的一個擴展,PostGIS 提供如下空間信息服務功能:空間對象、空間索引、空間操作函數和空間操作符。同時PostGIS 遵循OpenGIS 的規范。

其存儲機制為:將地理空間數據中的非空間數據存儲到表格的普通列中,再將地理空間數據中的空間數據通過PostGIS 支持的Geometry 對象列加入到表格中,實現非空間數據與空間數據的統一存儲。

3.2 PostGIS 空間數據模型

PostGIS 遵循了OpenGIS 規范中的簡單要素SQL模型(SFS:Simple Feature for SQL Model),其涵蓋所有需要支持的數據類型,主要分為3 種數據類型模型:矢量數據、柵格數據和拓撲數據。

3.3 性能對比

為了橫向比較PostgreSQL 在空間數據庫的性能,針對查詢空間位置數據庫表的查詢時間,本文對PostgreSQL 及MySQL 進行了比較驗證,其中,使用的系統環境為Windows 10 專業版64 位操作系統,Intel(R) Core(TM) i5?10400 CPU @ 2.90 GHz 2.90GHz,內存為16.0 GB。

本文隨機創建了1 萬、5 萬、10 萬、20 萬、50 萬、100 萬與200 萬空間點數據表,分別存于PostgreSQL與MySQL 數據庫中, 然后通過查詢語句,分別查詢最大范圍、中等范圍與小范圍區域中存在的空間點數量,并對比兩種數據庫的查詢時間,因每次查詢時間略微不同,每次查詢10 次,取平均值記錄。將結果整理為對比圖,結果如圖1 所示。

圖1 中,選擇了范圍最大與范圍最小的查詢結果進行比較。在點數較少時,兩者的性能差異不明顯,但當點數較大時,PostgreSQL 的查詢速度較MYSQL更快,且數量越大,優勢越大。

鑒于PostgreSQL 的標準化與對地理信息系統更全面的支持,本文將PostgreSQL 作為數據庫,基于PostGIS 插件及圍繞如何獲取人員地理活動信息來進行設計,并且對響應的設計進行了實現。

4 獲取人員地理活動信息設計

4.1 背景

隨著信息化時代的不斷發展,獲取位置數據的途徑變得多種多樣,包括但不局限于手機、網絡、全球定位系統( Global Position System, GPS)、射頻識別(Radio Frequency Identification,RFID)、雷達設備、電子戰設備。定位技術發展迅速,通過這些定位設備,就能夠獲取到對象的軌跡信息,并將這些信息在許多領域進行研究分析,例如,電子戰領域,通過電子戰設備,可以獲取敵方設備在時間段內的點跡并能夠生成軌跡信息,同時預測敵方設備后續位置;通信領域,通過通信設備,能夠識別信號發射方的位置信息;GPS領域,顯示公交車實時位置的軟件能夠不斷更新公交車的位置狀態信息。

由于獲取位置信息的方式越來越多,越來越方便,位置信息的數據量也逐漸龐大,趨于復雜化。

4.2 流程

本文擬在已經存在人員位置信息的前提下,通過PostgreSQL 搭載PostGIS 插件,實現對人員的活動信息進行統一存儲與管理。通過可視化工具,進行進一步的可視化顯示,以查看與分析人員的地理活動信息。通過篩選位置信息與時間信息,構建出完整的時空軌跡,從而得出用戶所經過的位置,分析出意圖目的地以及經?;顒拥奈恢梅秶戎匾畔?,這些信息可以應用于辦案人員的辦案分析、溯源分析等。

本文通過使用PostgreSQL 來存儲地理信息相關數據。因其良好的性能與對GIS 的全面支持,以及靈活的可擴展性,將其作為地理數據庫,界面則使用QGIS,通過編譯源碼對其進行二次開發,一來繼承了QGIS 對PostGIS的友好性,方便連接PostGIS 并做可視化顯示,二來能夠進行個性化定制操作,以滿足特定的需求。

4.3 設計

人員相關地理活動信息可以從以下4 方面來設計:WIFI、基站地理信息設計、照片拍攝地理信息設計與軟件地理信息設計。

本文模擬了一個月的位置信息,簡化了數據量,以每天位置信息為10 個點來進行模擬,具體的行程為:9.1~ 9.20 在廈門市活動,9.21 前往福州,9.22 ~9.25 在北京市活動,9.26~9.30 在西安市活動。

通過Postgis 將點跡信息存儲在postgreSQL 中,然后通過QGIS 連接數據庫進行效果的展現,實際上,可以將QGIS 以二次開發形式集成到軟件中并進行具體操作,在用QGIS 連接PostgreSQL 的表后,可以將表內的數據展現在地圖上。

位置信息分布在廈門、福州、北京和西安,由于地圖范圍過大,點擊并進行聚類顯示。

對于Wi?Fi、基站位置的信息分析,本文主要從以下幾個方面來進行展現。

(1)獲取時間段內軌跡信息。

當需要對人員的某個時間段內的行程進行分析時,可以直接獲取某個時間段的位置信息,本文獲取了9.22~9.25 的位置信息。具體如圖2 所示。

上圖是9.22~9.25 的位置信息匯總,通過數據庫查詢可以迅速獲取人員特定時間段的活動范圍,對調查有一定的作用,但時間段范圍較大,并不精確。

(2)獲取單日行程軌跡。

同樣地,當需要獲取人員單日的行程軌跡時,能夠通過某些操作,得到更進一步的調查分析結果。本文獲取了9.5,9.21,9.23 以及9.30 人員位置信息。由于數據進行了精簡,點跡數量比較少,實際的數據量會遠遠大于模擬的數據量,但通過獲取單日的位置信息,可以得到人員在當天的活動軌跡信息。

(3)獲取關鍵場所到訪頻次。

在某些特定的場景中,已知某個區域屬于重點區域,若要知道人員是否去過該重點場所,或者要知道人員經過重點區域的次數,這些要求也能夠得到滿足。步驟有以下2 步。

①人員預設關鍵場所(導入,繪制)。重點區域信息,需要相關人員預先設置,可以通過在地圖上手繪形成,也可以通過數據信息導入到數據庫中,PostgreSQL 建立一張表,該表專門來存儲該區域信息。比如,以廈門軟件園為重點區域,粗略繪制該區域。

當重點區域繪制完成后,用戶便能夠對人員的點跡進行篩選,獲取到重點區域的訪問情況,也能夠直觀地查看人員是否與重點區域有關聯。

②SQL 獲取重點區域范圍內點跡。

現采用QGIS 進行展現,后期將QGIS 集成到相應的軟件,原理相同,QGIS 連接到PostgreSQL 的tbl_station_info 表,執行SQL,可以查詢到重點區域范圍內的點。

執行完成后,點擊加載圖層,圖層可以加載到QGIS 上,選擇終端區域圖層與查詢結構圖層(“軟件園”)。

通過此功能可以獲取重點區域的重點信息,有助于相關人員進一步分析人員與案件的關系,同時也有進一步拓展的可能。

5 結束語

隨著信息與各行各業的飛速發展,地理信息數據庫將成為地理信息系統發展的關鍵環節。本文從地理數據庫展開,對比了Oracle spatial,Mysql GIS 與PostgreSQL PostGIS3 種地理數據庫模型,然后詳細介紹了PostgreSQL 搭載PostGIS 插件的地理數據庫模型的原理與實現方式,探討了PostGIS 對地理信息系統的支撐性,最后基于PostgreSQL 數據庫,搭載PostGIS插件,提出了一種獲取人員相關地理活動信息的設計思路,并對其進行了相應的實現。

參考文獻:

[1] 盛凱,劉忠,周德超.基于PostGIS 的歷史航跡重演分析系統設計與開發[J].海軍工程大學學報,2017,29(5):108?112.

[2] 趙瑩,胡暢達,王國宇.三種關系型空間數據庫比較[J].科技創新與應用,2021,11(19):62?64.

[3] 蔡佳作,歐爾格力.基于PostgreSQL 的地理空間數據存儲管理方法研究[J].青海師范大學學報(自然科學版),2016,32(2):21?23+27.

作者簡介:

李志翔(1994—),本科,研究方向:電子數據取證。

猜你喜歡
空間數據數據庫區域
數據庫
數據庫
元數據驅動的多中心空間數據同步方法研究
分區域
數據庫
數據庫
基于嚴重區域的多PCC點暫降頻次估計
基于文件系統的分布式海量空間數據高效存儲與組織研究
客戶端空間數據緩存策略
多源空間數據同名實體幾何匹配方法研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合