PostGIS
切换深色/浅色/自动模式 - PostGIS 空间数据库 切换深色/浅色/自动模式 - PostGIS 空间数据库 切换深色/浅色/自动模式 - PostGIS 空间数据库 返回主页 - PostGIS 空间数据库

启用PostGIS

PostGIS和其他扩展是可选的扩展,必须在您想使用它们的每个数据库中启用。以下所有扩展都包含在PostGIS Windows捆绑包中

CREATE EXTENSION postgis;
-- enabling raster support
CREATE EXTENSION postgis_raster;

-- enabling advanced 3d support
CREATE EXTENSION postgis_sfcgal;
-- enabling SQL/MM Net Topology
CREATE EXTENSION postgis_topology;

-- using US census data for geocoding and standardization
CREATE EXTENSION address_standardizer;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;


-- need to upgrade the postgis packaged extensions do 
SELECT postgis_extensions_upgrade();

这些扩展是PostGIS捆绑包的一部分,但您也可以在未发布的版本中单独下载最新版本。

pgRouting

如果直线距离不够,并且您需要基于道路路径、步行路径、自行车路径和其他障碍物的真实时间测量,那么pgRouting适合您。运行以下命令开始您的路由之旅。

CREATE EXTENSION pgrouting;

-- for upgrading an existing install
ALTER EXTENSION pgrouting UPDATE;

-- see version details 
SELECT * FROM pgr_full_version();

要将OpenStreetMap数据(OSM)加载到pgrouting格式,可以使用osm2pgroutingosm2po。osm2pgrouting的Windows二进制文件可以在每个版本的pgrouting旁边找到,并且包含在Windows捆绑包中。请参阅zip中的说明。

PostGIS捆绑包中包含的其他扩展,它们不是PostGIS项目的一部分

如果您想使用尚未发布的版本,您可以在extras PostgreSQL版本文件夹中找到这些扩展。

/** foreign data wrapper for querying external spatial
    and non-spatial data sources
    Note if you get an error accessing https sources,
    you need to define the CURL_CA_BUNDLE system environment variable to something like
    C:\Program Files\PostgreSQL\15\ssl\certs\ca-bundle.crt 
    This is an option in installer for PostGIS 3.4.1 bundle and above**/

CREATE EXTENSION ogr_fdw;

-- for managing pointcloud data
CREATE EXTENSION pointcloud;
CREATE EXTENSION pointcloud_postgis;
-- see version installed
SELECT pc_version();

-- upgrade
ALTER EXTENSION pointcloud UPDATE;
ALTER EXTENSION pointcloud_postgis UPDATE;

-- for using Uber h3 indexing scheme
CREATE EXTENSION h3;
CREATE EXTENSION h3_postgis;

MobilityDB

MobilityDB用于管理轨迹数据。有关详细信息,请参阅https://github.com/MobilityDB/MobilityDB。mobilitydb扩展是在PostGIS捆绑包3.3.3(适用于PostgreSQL 12及更高版本)中引入的。您也可以在extras PostgreSQL版本文件夹中找到。

-- confirm you don't have any existing pre-loaded libraries,
-- if you do make sure to readd when alter system
SHOW shared_preload_libraries;
ALTER SYSTEM  SET shared_preload_libraries = 'postgis-3';

SHOW max_locks_per_transaction;

-- if lower than 128, then run the below
ALTER SYSTEM SET max_locks_per_transaction = 128;

从Windows服务中,重新启动PostgreSQL服务。

现在您可以准备在数据库中启用mobilitydb了。

CREATE EXTENSION mobilitydb;
-- show current version and dependencies
SELECT mobilitydb_full_version();
-- updating existing install 
ALTER EXTENSION mobilitydb UPDATE;

如果您未能执行上述步骤或重新启动服务,则在运行create extension命令时可能会收到类似以下的错误

“C:/Program Files/PostgreSQL/15/lib/libMobilityDB-1.1.dll”:找不到指定的模块.

有关更多指导,请参阅入门指南部分。

pgSphere

pgSphere是一个用于管理球形几何的扩展。它主要用于管理天文数据。它不依赖于PostGIS。它尚未与PostGIS捆绑包一起打包,但将来会打包。您将在每个PostgreSQL构建机器人文件夹的各自的extras文件夹中找到它的二进制文件。

要安装,请将文件复制到PostgreSQL安装目录中,并在您选择的数据库中运行

CREATE EXTENSION pg_sphere;