如何使用GDAL库的ogr2ogr将GeoJSON数据导入到PostgreSql中
作者:码农研究僧
本文主要介绍了PyTorch中的masked_fill函数的基本知识和使用方法,masked_fill函数接受一个输入张量和一个布尔掩码作为主要参数,掩码的形状必须与输入张量相同,掩码操作根据掩码中的布尔值在输出张量中填充指定的值或保留输入张量中的值
数据下载
数据下载地址:https://datav.aliyun.com/portal/school/atlas/area_selector
我这里下载全国所有城市的数据进行导入
下载安装GDAL
以下是安装 ogr2ogr(GDAL 工具集的一部分)的步骤,适用于 Windows、macOS 和 Linux 系统。
Windows系统安装GDAL
下载 GDAL:
下载 GDAL:
- 访问 GISInternals 或 OSGeo4W 下载 GDAL 安装包。
- 选择适合你系统的版本(通常是 32 位或 64 位)。
安装:
- 下载后,运行安装程序,并按照提示完成安装。
- 确保选择安装命令行工具。
配置环境变量:
- 右键点击“此电脑”或“我的电脑”,选择“属性”。
- 点击“高级系统设置” > “环境变量”。
- 在“系统变量”中找到 Path,点击“编辑”。
- 添加 GDAL 的安装路径(例如:C:\Program Files\GDAL)。
验证安装:
- 打开命令提示符,输入以下命令:
ogr2ogr --version
如果显示版本信息,说明安装成功。
macOS系统安装GDAL
使用 Homebrew 安装: 如果没有安装 Homebrew,可以先在终端执行以下命令安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装 GDAL:
brew install gdal
验证安装: 在终端输入:
确认安装成功。
Linux系统安装GDAL
Debian/Ubuntu 系统:
打开终端,运行以下命令:
sudo apt update sudo apt install gdal-bin
Red Hat/Fedora 系统:
使用以下命令:
sudo dnf install gdal
验证安装:
在终端输入:
ogr2ogr --version
如果显示版本信息,说明安装成功。
我这里使用的是Ubuntu系统,按照成功会有以下提示:
在PostgreSql中创建表
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(), -- 创建时间 updated_at TIMESTAMP DEFAULT NOW() -- 更新时间 );
字段说明
- id: 唯一标识符,自动递增。
- name: 地物名称。
- description: 对地物的详细描述。
- type: GeoJSON 对象的类型,通常是 “Feature”。
- geom: 存储 Polygon 类型的地理数据,使用 PostGIS 的 GEOMETRY 类型,并指定坐标系(这里使用 WGS 84,EPSG:4326)。
- properties: 使用 JSONB 类型存储与地物相关的其他任意属性。
- created_at: 记录创建时间。
- updated_at: 记录最后更新时间。
索引
为了提高对空间数据的查询性能,可以创建空间索引:
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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!