跳转到主要内容

简单快速的PostGIS后端地理空间OGC功能和瓦片API。

项目描述

简单快速的PostGIS后端地理空间OGC功能和瓦片API。

Test Coverage Package version License


文档: https://developmentseed.org/tipg/

源代码: https://github.com/developmentseed/tipg


tipg,发音为T[ee]pg,是一个Python包,它帮助使用PostGIS数据库后端创建轻量级的OGC 功能瓦片 API。该API是为OGC功能OGC瓦片规范设计的。

注意: 此项目是tifeaturestimvt 合并的结果。

安装

$ python -m pip install pip -U
$ python -m pip install tipg

# or from source
$ git clone https://github.com/developmentseed/tipg.git
$ cd tipg
$ python -m pip install -e .

OGC规范

规范 状态 链接
OGC通用部分1:核心 https://docs.ogc.org/DRAFTS/19-072.html
OGC通用部分2:地理空间数据 http://docs.ogc.org/DRAFTS/20-024.html
OGC功能部分1:核心 https://docs.ogc.org/is/17-069r4/17-069r4.html
OGC功能部分2:通过引用的CRS https://docs.ogc.org/is/18-058r1/18-058r1.html
OGC功能部分3:过滤/ CQL2 https://docs.ogc.org/DRAFTS/19-079r1.html
OGC瓦片第1部分:核心 https://docs.ogc.org/is/20-057/20-057.html

注释

我们选择不实现规范的第二部分,以防止引入基于CRS的GeoJSON。我们可能在将来重新审查这一决定。

虽然我们尽量严格遵循OGC规范,但一些API端点可能具有更多功能(例如,选择几何列)。

PostGIS/PostgreSQL

tipg在很大程度上依赖于PostGIS的ST_*函数。必须将PostGIS安装到您的PostgreSQL数据库中。

SELECT name, default_version,installed_version
FROM pg_available_extensions WHERE name LIKE 'postgis%' or name LIKE 'address%';
CREATE EXTENSION postgis;

配置

为了能够工作,应用程序需要访问数据库。tipg使用Starlette的配置模式,该模式利用环境变量或.env文件将变量传递给应用程序。

可以在.env.example中找到.env文件的示例。

# you need to define the DATABASE_URL directly
DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis

有关配置选项的更多信息,请参阅https://developmentseed.org/tipg/user_guide/configuration/

启动

$ pip install uvicorn

# Set your PostGIS database instance URL in the environment
$ export DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis
$ uvicorn tipg.main:app

# or using Docker

$ docker-compose up app

Docker镜像

我们正在tag上发布两个不同的Docker镜像,并在main分支的每个提交时发布。

Gunicorn Uvicorn
主要提交 ghcr.io/developmentseed/tipg:latest ghcr.io/developmentseed/tipg:uvicorn-latest
标签 ghcr.io/developmentseed/tipg:0.0.0 ghcr.io/developmentseed/tipg:uvicorn-0.0.0
dockerfile /dockerfiles/Dockerfile.gunicorn /dockerfiles/Dockerfile.uvicorn

查看所有版本:https://github.com/developmentseed/tipg/pkgs/container/tipg

# Gunicorn image
$ docker run \
    -p 8081:8081 \
    -e PORT=8081 \
    -e DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis \
    ghcr.io/developmentseed/tipg:latest

# or Uvicorn image
$ docker run \
    -p 8081:8081 \
    -e PORT=8081 \
    -e DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis \
    ghcr.io/developmentseed/tipg:uvicorn-latest

注意:如果您计划在kubernetes部署中使用Docker镜像,您可能希望使用uvicorn镜像(参考:https://fastapi.org.cn/deployment/server-workers/)。

贡献与发展

请参阅CONTRIBUTING.md

许可协议

请参阅LICENSE

作者

Development Seed创建

变更

请参阅CHANGES.md

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

tipg-0.7.3.tar.gz (56.7 kB 查看哈希值)

上传时间:

构建分发

tipg-0.7.3-py3-none-any.whl (77.5 kB 查看哈希值)

上传时间: Python 3

由以下支持