简单快速的PostGIS后端地理空间OGC功能和瓦片API。
项目描述
简单快速的PostGIS后端地理空间OGC功能和瓦片API。
文档: https://developmentseed.org/tipg/
源代码: https://github.com/developmentseed/tipg
tipg
,发音为T[ee]pg,是一个Python包,它帮助使用PostGIS数据库后端创建轻量级的OGC 功能 和 瓦片 API。该API是为OGC功能 和 OGC瓦片规范设计的。
注意: 此项目是tifeatures 和 timvt 合并的结果。
安装
$ 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/)。
贡献与发展
许可协议
请参阅LICENSE
作者
变更
请参阅CHANGES.md。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。