1 简介
当需要进行地理信息系统 (GIS) 查询时,安装和使用 PostGIS 扩展非常有用。它允许你在 PostgreSQL 中存储、查询和分析地理和空间数据,例如范围查询、距离计算、地理坐标转换等。
- 使用合适的地理索引来加速查询;
- 考虑将地理数据规范化以降低存储开销;
2 安装扩展所需的插件
2.1 安装 epel-release
yum -y install epel-release
2.2 postgis(由于我之前安装过插件,所以这里截图显示的基本是 Nothing to do)
yum -y install postgis31_12.x86_64 postgis31_12-client.x86_64 postgis31_12-devel.x86_64 postgis31_12-docs.x86_64 postgis31_12-gui.x86_64 postgis31_12-utils.x86_64
验证插件是否安装成功
## 进入pgsql安装目录
cd /usr/pgsql-12/lib
## 查看 gis 插件文件是否正常安装
ll | grep gis
3 在数据库创建扩展,自动新增函数
3.1 在 navicat 连接数据库,进入对应的数据库,并执行以下命令:
CREATE EXTENSION cube;
CREATE EXTENSION earthdistance;
3.2 创建完扩展之后,会发现数据库多了很多函数
4 验证“根据经纬度计算距离”是否报错
在 navicat 连接数据库,进入对应的数据库,并执行以下命令:
-- 经纬度是我自己随便写的,按照你自己的来就行
-- 返回的结果单位是米
select earth_distance(
ll_to_earth (23.085862951220724,113.31410212317595),
ll_to_earth(23.121722384059566,113.32722838364408)
) as distance;
配上截图: