如何使用GDAL庫的ogr2ogr將GeoJSON數據導入到PostgreSql中
數據下載
數據下載地址:https://datav.aliyun.com/portal/school/atlas/area_selector
我這里下載全國所有城市的數據進行導入

下載安裝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)設置” > “環(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
驗證安裝: 在終端輸入:
確認安裝成功。
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 數據包含多個坐標并且表示一個多邊形(Polygon),需要相應地調整表設計以支持存儲 Polygon 類型的幾何數據。
CREATE TABLE geo_data (
id SERIAL PRIMARY KEY, -- 唯一標識符
name VARCHAR(100), -- 地物名稱
description TEXT, -- 描述(可選)
type VARCHAR(50), -- GeoJSON 類型(例如 "Feature")
geom GEOMETRY(Polygon, 4326), -- 空間數據,使用 Polygon 類型
properties JSONB, -- 任意屬性,使用 JSONB 存儲
created_at TIMESTAMP DEFAULT NOW(), -- 創(chuàng)建時間
updated_at TIMESTAMP DEFAULT NOW() -- 更新時間
);字段說明
- id: 唯一標識符,自動遞增。
- name: 地物名稱。
- description: 對地物的詳細描述。
- type: GeoJSON 對象的類型,通常是 “Feature”。
- geom: 存儲 Polygon 類型的地理數據,使用 PostGIS 的 GEOMETRY 類型,并指定坐標系(這里使用 WGS 84,EPSG:4326)。
- properties: 使用 JSONB 類型存儲與地物相關的其他任意屬性。
- created_at: 記錄創(chuàng)建時間。
- updated_at: 記錄最后更新時間。
索引
為了提高對空間數據的查詢性能,可以創(chuàng)建空間索引:
CREATE INDEX idx_geom ON geo_data USING GIST (geom);
GeoJSON 示例
GeoJSON 數據可能類似于以下結構:
{
"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導入數據到表中
ogr2ogr -f "PostgreSQL" PG:"host=localhost dbname=your_db user=your_user password=your_password" your_data.geojson -nln geo_data -overwrite
- your_db:你的數據庫名。
- your_user:數據庫用戶名。
- your_password:數據庫密碼。
- your_data.geojson:你的 GeoJSON 文件名。
- geo_data:目標表名。

導入完成后即可在表中查詢到

到此這篇關于使用GDAL庫的ogr2ogr將GeoJSON數據導入到PostgreSql中的文章就介紹到這了,更多相關GeoJSON數據導入到PostgreSql內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
最簡單的Oracle數據恢復 select as of使用方法
這篇文章主要介紹了最簡單的Oracle數據恢復 select as of使用方法,需要的朋友可以參考下2015-08-08
Oracle故障處理Rman-06207&Rman-06214的方法
新搭建的環(huán)境,還沒上線,今天在部署腳本,RMAN 備份中有一個警告,下面這篇文章主要給大家介紹了關于Oracle故障處理Rman-06207&Rman-06214的相關資料,需要的朋友可以參考下2022-11-11
Oracle 數據庫忘記sys與system管理員密碼重置操作方法
這篇文章主要介紹了Oracle 數據庫忘記sys與system管理員密碼重置操作,需要的朋友可以參考下2017-06-06

