启用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适合您。运行以下命令开始您的路由之旅。
CREATE EXTENSION pgrouting;
-- for upgrading an existing install
ALTER EXTENSION pgrouting UPDATE;
-- see version details
SELECT * FROM pgr_full_version();
要将OpenStreetMap数据(OSM)加载到pgrouting格式,可以使用osm2pgrouting或osm2po。osm2pgrouting的Windows二进制文件可以在每个版本的pgrouting旁边找到,并且包含在Windows捆绑包中。请参阅zip中的说明。
如果您想使用尚未发布的版本,您可以在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用于管理轨迹数据。有关详细信息,请参阅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是一个用于管理球形几何的扩展。它主要用于管理天文数据。它不依赖于PostGIS。它尚未与PostGIS捆绑包一起打包,但将来会打包。您将在每个PostgreSQL构建机器人文件夹的各自的extras文件夹中找到它的二进制文件。
要安装,请将文件复制到PostgreSQL安装目录中,并在您选择的数据库中运行
CREATE EXTENSION pg_sphere;