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进行空间数据处理和分析。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/678320.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复