日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 存储地理信息_使用Amazon Aurora存储和处理地理信息数据

發布時間:2025/5/22 数据库 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 存储地理信息_使用Amazon Aurora存储和处理地理信息数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

地理信息是一種特定的空間信息,無論在科學研究還是日常生活中都有廣泛應用。我們通常使用計算機和相關軟件對地理信息進行儲存、管理、運算、分析、顯示等操作。

我們對地理信息最常見的使用是導航,對地理信息最有前景的使用場景是自動駕駛。這兩種場景都對地理信息的存儲和使用有許多新的需求,這些需求包括對地理信息的實時更新、并發讀寫、版本控制、高可用和高可靠等。

當前,地理信息存儲和處理方式,無論是傳統方法把地理信息存放在二進制文件中, 還是把地理信息存放在傳統的關系數據庫里,都無法滿足上面提到的新需求。而使用Amazon Aurora可以更好的滿足這些新的需求。

Amazon Aurora 是一種與 MySQL 和 PostgreSQL 兼容的關系數據庫,專為云而打造,既具有高端商用數據庫的性能和可用性,又具有開源數據庫的簡單性和成本效益。

Aurora 的速度最高可以達到標準 MySQL 數據庫的五倍、標準 PostgreSQL 數據庫的三倍。它可以實現商用數據庫的安全性、可用性和可靠性,而成本只有商用數據庫的 1/10。Aurora 由 Amazon Relational Database Service (RDS) 完全托管,而 RDS 可以自動執行各種耗時的管理任務,例如硬件預置以及數據庫設置、修補和備份。

下面,我們將逐步演示如何把OSM(Open Street Map)數據導入Amazon Aurora 數據庫,并對地理數據做查詢操作。

1. 創建Aurora數據庫。

為了支持PostGIS 1.5+, 在創建Aurora數據庫時,選擇PostgreSQL-compatible,如下圖所示:

2. 在創建好的Aurora數據庫上啟動PostGIS,Hstore等相關組件。PostGIS 是一個 PostgreSQL 擴展,用于存儲和管理空間信息。步驟如下:

首先,使用創建數據庫實例的主用戶名連接到數據庫實例;

然后加載PostGIS擴展,使用CREAT EXTENSION語句加載擴展。

運行下面語句:

CREATE EXTENSION hstore;

結果如下:

運行下面語句:

CREATE EXTENSION postgis;

結果如下:

運行下面語句:

CREATE EXTENSION fuzzystrmatch;

結果如下:

運行下面語句:

CREATE EXTENSION postgis_tiger_geocoder;

結果如下:

運行下面語句:

CREATE EXTENSION postgis_topology;

結果如下:

最后使用 ALTER SCHEMA 語句將所有權移交給 rds_superuser 角色。

運行下面語句:

ALTER SCHEMA tiger owner to rds_superuser;

結果如下:

運行下面語句:

ALTER SCHEMA tiger_data owner to rds_superuser;

結果如下:

運行下面語句:

ALTER SCHEMA topology owner to rds_superuser;

結果如下:

3. 下載中國的OSM(open street map)數據文件, 下載鏈接

為了把中國的OSM數據導入Aurora數據庫,我們需要使用osm2pgsql工具,在本文中,我們 使用一臺EC2 linux服務器運行osm2pgsql工具導入地理信息數據。

首先我們下載osm2pgsql源文件,

git clone git://github.com/openstreetmap/osm2pgsql.git

然后安裝osm2pgsql需要的依賴庫

yum install cmake gcc-c++ boost-devel expat-devel zlib-devel bzip2-devel postgresql-devel geos-devel proj-devel proj-epsg lua-devel -y

最后編譯osm2pgsql工具

cd osm2pgsql-master

mkdir build && cd build

cmake .. && make && make install

運行結果如下:

4.? 導入中國OSM數據

osm2pgsql ./china-latest.osm.bz2 -d OSMChina -U root -P 5432 -S ./default.style --hstore -H giscluster.cluster-ccnfhuymduul.rds.cn-northwest-1.amazonaws.com.cn? -W

其中文件china-latest.osm.bz2是步驟2下載的中國OSM數據

-d 指定了Aurora中數據庫的名字

-S ./default.style是樣式文件,在osm2pgsql的源文件目錄里。

其他是連接數據庫需要的參數,比如數據庫的endpoint和用戶名密碼下圖是osm2pgsql的導入過程截圖:

我們可以看到,導入全部中國OSM數據用了603s

5.? 檢查Aurora中導入的中國OSM數據

數據導入成功后,數據庫中會有3個新的表, 如下圖:

planet_osm_point: 包含PoI(Point of Interet)信息;

planet_osm_lines: 包含道路和街道信息;

planet_osm_polygons: 包含湖泊,建筑,行政區等信息。

6.? 查詢在Aurora里存儲的中國OSM信息

SELECT name, ST_AsText(ST_Transform(way,4326)) AS pt_lonlattext -- tags

FROM? planet_osm_point

WHERE tags @> 'cuisine=>sushi'::hstore;

你可以看到查詢結果如下:

通過上面六步操作,我們把中國的OSM數據導入到了Aurora 數據庫,并且可以使用SQL語句查詢地理信息。使用Aurora 數據庫后,地理信息數據庫可以支持更大的并發量和更快的查詢速度,獲得更好的可用性。同時,利用Aurora完全托管的特性,數據庫管理員可以省去許多繁瑣的操作,例如硬件預置以及數據庫設置、修補和備份。我們既得到了高端商用數據庫的性能和可用性,又有開源數據庫的簡單性和成本效益。

本篇作者

AWS解決方案架構師,負責企業級客戶的架構和云上遷移等工作。

總結

以上是生活随笔為你收集整理的mysql 存储地理信息_使用Amazon Aurora存储和处理地理信息数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。