如何使用GDAL庫的ogr2ogr將GeoJSON數(shù)據(jù)導(dǎo)入到PostgreSql中
數(shù)據(jù)下載
數(shù)據(jù)下載地址:https://datav.aliyun.com/portal/school/atlas/area_selector
我這里下載全國所有城市的數(shù)據(jù)進(jìn)行導(dǎo)入
下載安裝GDAL
以下是安裝 ogr2ogr(GDAL 工具集的一部分)的步驟,適用于 Windows、macOS 和 Linux 系統(tǒng)。
Windows系統(tǒng)安裝GDAL
下載 GDAL:
下載 GDAL:
- 訪問 GISInternals 或 OSGeo4W 下載 GDAL 安裝包。
- 選擇適合你系統(tǒng)的版本(通常是 32 位或 64 位)。
安裝:
- 下載后,運行安裝程序,并按照提示完成安裝。
- 確保選擇安裝命令行工具。
配置環(huán)境變量:
- 右鍵點擊“此電腦”或“我的電腦”,選擇“屬性”。
- 點擊“高級系統(tǒng)設(shè)置” > “環(huán)境變量”。
- 在“系統(tǒng)變量”中找到 Path,點擊“編輯”。
- 添加 GDAL 的安裝路徑(例如:C:\Program Files\GDAL)。
驗證安裝:
- 打開命令提示符,輸入以下命令:
ogr2ogr --version
如果顯示版本信息,說明安裝成功。
macOS系統(tǒng)安裝GDAL
使用 Homebrew 安裝: 如果沒有安裝 Homebrew,可以先在終端執(zhí)行以下命令安裝:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安裝 GDAL:
brew install gdal
驗證安裝: 在終端輸入:
確認(rèn)安裝成功。
Linux系統(tǒng)安裝GDAL
Debian/Ubuntu 系統(tǒng):
打開終端,運行以下命令:
sudo apt update sudo apt install gdal-bin
Red Hat/Fedora 系統(tǒng):
使用以下命令:
sudo dnf install gdal
驗證安裝:
在終端輸入:
ogr2ogr --version
如果顯示版本信息,說明安裝成功。
我這里使用的是Ubuntu系統(tǒng),按照成功會有以下提示:
在PostgreSql中創(chuàng)建表
GeoJSON 數(shù)據(jù)包含多個坐標(biāo)并且表示一個多邊形(Polygon),需要相應(yīng)地調(diào)整表設(shè)計以支持存儲 Polygon 類型的幾何數(shù)據(jù)。
CREATE TABLE geo_data ( id SERIAL PRIMARY KEY, -- 唯一標(biāo)識符 name VARCHAR(100), -- 地物名稱 description TEXT, -- 描述(可選) type VARCHAR(50), -- GeoJSON 類型(例如 "Feature") geom GEOMETRY(Polygon, 4326), -- 空間數(shù)據(jù),使用 Polygon 類型 properties JSONB, -- 任意屬性,使用 JSONB 存儲 created_at TIMESTAMP DEFAULT NOW(), -- 創(chuàng)建時間 updated_at TIMESTAMP DEFAULT NOW() -- 更新時間 );
字段說明
- id: 唯一標(biāo)識符,自動遞增。
- name: 地物名稱。
- description: 對地物的詳細(xì)描述。
- type: GeoJSON 對象的類型,通常是 “Feature”。
- geom: 存儲 Polygon 類型的地理數(shù)據(jù),使用 PostGIS 的 GEOMETRY 類型,并指定坐標(biāo)系(這里使用 WGS 84,EPSG:4326)。
- properties: 使用 JSONB 類型存儲與地物相關(guān)的其他任意屬性。
- created_at: 記錄創(chuàng)建時間。
- updated_at: 記錄最后更新時間。
索引
為了提高對空間數(shù)據(jù)的查詢性能,可以創(chuàng)建空間索引:
CREATE INDEX idx_geom ON geo_data USING GIST (geom);
GeoJSON 示例
GeoJSON 數(shù)據(jù)可能類似于以下結(jié)構(gòu):
{ "type": "Feature", "properties": { "name": "Example Polygon", "description": "A sample polygon feature." }, "geometry": { "type": "Polygon", "coordinates": [ [ [102.0, 0.0], [103.0, 0.0], [103.0, 1.0], [102.0, 1.0], [102.0, 0.0] ] ] } }
ogr2ogr導(dǎo)入數(shù)據(jù)到表中
ogr2ogr -f "PostgreSQL" PG:"host=localhost dbname=your_db user=your_user password=your_password" your_data.geojson -nln geo_data -overwrite
- your_db:你的數(shù)據(jù)庫名。
- your_user:數(shù)據(jù)庫用戶名。
- your_password:數(shù)據(jù)庫密碼。
- your_data.geojson:你的 GeoJSON 文件名。
- geo_data:目標(biāo)表名。
導(dǎo)入完成后即可在表中查詢到
到此這篇關(guān)于使用GDAL庫的ogr2ogr將GeoJSON數(shù)據(jù)導(dǎo)入到PostgreSql中的文章就介紹到這了,更多相關(guān)GeoJSON數(shù)據(jù)導(dǎo)入到PostgreSql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle停止數(shù)據(jù)庫后linux完全卸載oracle的詳細(xì)步驟
本文介紹了linux完全卸載oracle的詳細(xì)步驟,卸載前需使用SQL*PLUS停止數(shù)據(jù)庫和相關(guān)服務(wù),詳細(xì)步驟看下面說明,大家可以參考使用2014-01-01Oracle11.2 命令行手工最簡創(chuàng)建數(shù)據(jù)庫的過程
Oracle 11.2命令行手工最簡創(chuàng)建數(shù)據(jù)庫的過程 命令行手工最簡創(chuàng)建數(shù)據(jù)庫的過程2009-09-09Oracle數(shù)據(jù)庫中ora-12899錯誤的解決方法
大家在使用oracle數(shù)據(jù)庫時,經(jīng)常會遇到各種各樣的問題,其中ORA-12899就是前段時間我在將數(shù)據(jù)導(dǎo)入到我本地機(jī)器上的時候一直出現(xiàn)的問題.經(jīng)過一番倒騰問題順利解決,下面小編把實現(xiàn)思路分享到腳本之家平臺大家可以參考下2017-11-11Oracle數(shù)據(jù)庫數(shù)據(jù)遷移完整解決步驟
我們常常需要對數(shù)據(jù)進(jìn)行遷移,遷移到更性能配置更高級的主機(jī)OS上、遷移到遠(yuǎn)程的機(jī)房、遷移到不同的平臺下,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫數(shù)據(jù)遷移的相關(guān)資料,需要的朋友可以參考下2024-02-02Oracle還原恢復(fù)啟動時數(shù)據(jù)庫報ORA-00704、 ORA-00604,、ORA-00904的問題解決
這篇文章主要介紹了Oracle還原恢復(fù)啟動時數(shù)據(jù)庫報ORA-00704、 ORA-00604,、ORA-00904的問題解決,本文給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04Oracle數(shù)據(jù)庫分頁的集中方法(三種方法)
在 做項目中用到了分頁,下面說一下oracle分頁的方法,需要的的朋友參考下吧2017-07-07