PostGIS是一个开源的地理空间数据库扩展,它为PostgreSQL数据库提供了空间数据类型和操作函数,PostGIS支持2D和3D几何对象、空间索引、空间查询语言(如ST_Contains、ST_Intersects等)、空间分析函数(如Area、Length、Distance等)以及空间数据可视化等功能,在本教程中,我们将介绍如何在Linux系统上安装PostGIS Extension。
(图片来源网络,侵删)1. 安装PostgreSQL
我们需要在Linux系统上安装PostgreSQL数据库,以下是在不同Linux发行版上安装PostgreSQL的命令:
Ubuntu/Debian:
sudo aptget update sudo aptget install postgresql postgresqlcontrib
CentOS/RHEL:
sudo yum install postgresqlserver postgresqldevel
安装完成后,运行以下命令启动PostgreSQL服务:
sudo systemctl start postgresql
2. 安装PostGIS Extension
接下来,我们需要在PostgreSQL数据库中安装PostGIS Extension,创建一个名为postgis
的用户和一个名为gisdb
的数据库:
sudo u postgres createuser interactive
按照提示输入新用户的密码和其他信息,使用以下命令创建名为gisdb
的数据库:
createdb gisdb
接下来,切换到gisdb
数据库:
psql d gisdb U postgres
在psql
命令行中,运行以下命令来安装PostGIS Extension:
CREATE EXTENSION postgis;
现在,PostGIS Extension已经成功安装在gisdb
数据库中,你可以使用以下命令查看已安装的扩展:
dx
3. 测试PostGIS Extension
为了测试PostGIS Extension是否正常工作,我们可以创建一个包含空间数据的表,并执行一些基本的查询操作,创建一个名为locations
的表,包含经度、纬度和名称字段:
CREATE TABLE locations ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, geom GEOMETRY(POINT, 4326) NOT NULL, CONSTRAINT enforce_dims_geom CHECK (st_ndims(geom) = 2) );
向表中插入一些地理位置数据:
INSERT INTO locations (name, geom) VALUES ('北京', ST_GeomFromText('POINT(116.4074 39.9042)')); INSERT INTO locations (name, geom) VALUES ('上海', ST_GeomFromText('POINT(121.4737 31.2304)')); INSERT INTO locations (name, geom) VALUES ('广州', ST_GeomFromText('POINT(113.2644 23.1291)'));
执行以下查询操作来测试PostGIS Extension:
查询所有地理位置数据:
SELECT * FROM locations;
查询距离北京50公里以内的地理位置数据:
SELECT * FROM locations WHERE ST_DWithin(geom, ST_GeomFromText('POINT(116.4074 39.9042)'), 50000);
至此,我们已经成功地在Linux系统上安装了PostGIS Extension,并进行了简单的测试,接下来,你可以开始使用PostGIS进行空间数据处理和分析。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。