跳转到主要内容

Django地理存储和矢量瓦片生成

项目描述

Build Status codecov Maintainability Documentation Status

Python Version Django Version

django-geostore

动态地理数据存储,支持从PostGIS和json模式定义和验证生成矢量瓦片。

功能

  • 地理层管理
  • 在层上添加和管理地理特征
  • 使用JSON模式管理特征属性
  • 导入和导出数据
  • 在单个或多个层上生成GeoJSON和MapBox矢量瓦片
  • 提供完整的API管理
  • 可选PGRouting功能,通过django-geostore-routing插件实现

需求

通用

  • Python 3.6+
  • Postgresql 10+
  • PostGIS 2.4+

可选使用PgRouting功能

  • PgRouting 2.5+ 和 django-geostore-routing

以下是需要的debian包

  • libpq-dev (psycopg2)
  • gettext (翻译)
  • binutils (django.contrib.gis)
  • libproj-dev (django.contrib.gis)
  • gdal-bin (django.contrib.gis)

推荐

  • postgresql-client (如果您想使用./manage.py dbshell命令)

安装

从PYPI安装

pip install django-geostore

来自GitHub

git clone https://github.com/Terralego/django-geostore.git
cd django-geostore
python3 setup.py install

在你的项目设置中

INSTALLED_APPS = (
    'geostore',
)

开发

使用docker

docker-compose build
docker-compose up
docker-compose run web ./manage.py test

使用pip

python3.6 -m venv venv
source activate venv/bin/activate
pip install -e .[dev]

变更日志

1.0.0 (2024-01-12)

  • 添加对django 5.0的支持
  • 添加对python 3.12的支持
  • 改进TileJSON和瓦片缓存键

0.8.0 (2023-09-08)

  • 与fiona >= 1.9兼容
  • 添加对django 5.0的支持
  • 添加对python 3.12的支持

0.7.3 (2023-04-17)

  • 支持django 4.2
  • 允许以组限制向超级用户访问层
  • 删除对django 2.2和python 3.6的支持

0.7.2 (2023-03-06)

  • 通过使用DjangoJSONEncoder允许日期和对象在要素属性中

0.7.1 (2023-03-03)

  • 将默认缩放级别设置为0-23
  • 限制Fiona版本 < 1.9,直到修复

0.7.0 (2022-12-09)

  • 在setup.py中不要限制psycopg2版本
  • 在CI中添加迁移检查

0.6.9 (2022-11-22)

  • 支持python 3.10和django 4.1

0.6.8 (2022-07-04)

  • 添加层范围端点

0.6.7 (2022-02-21)

  • 使用dwithin更改距离关系计算

0.6.6 (2022-02-11)

  • 在矢量瓦片中添加关系

0.6.5 (2021-10-13)

  • 修复缺失的迁移

0.6.4 (2021-10-06)

  • 修复shapefile导出

0.6.3 (2021-10-05)

  • 改进关系性能

0.6.2 (2021-10-04)

  • 修复某些电子邮件客户端中引起诈骗警报的电子邮件链接

0.6.1 (2021-04-30)

  • 改进关系性能

0.6.0 (2021-04-30)

!! 警告 - 破坏性更改 !!

  • 添加约束额外几何为空/是有效的。在使用此版本之前,请检查您的要素额外几何是否不为空或无效

0.5.8 (2021-04-30)

  • 添加geojson关系格式

0.5.7 (2020-12-11)

  • 将翻译文件包含在pypi发行版中。

0.5.6 (2020-12-11)

  • 修复并包含翻译
  • 修复模板导出邮件中的超链接

0.5.5 (2020-12-10)

  • 修复setup.py sdist中未包含的模板
  • 修复保存生成导出文件

0.5.4 (2020-12-01)

  • 添加获取任何层属性所有不同值的端点

0.5.3 (2020-11-16)

  • 使用get_username()以保持与自定义用户模型的兼容性
  • 撤销形状文件URL生成

0.5.2 (2020-11-06)

  • 添加使用celery工作进程在异步模式下以shape / geojson / kml导出层的功能。用户应该有电子邮件以接收下载链接。

0.5.1 (2020-10-28)

  • 在矢量瓦片上修复Bug
  • 改进文档

0.5.0 (2020-10-27)

!! 警告 - 破坏性更改 !!

空几何形状的要素将不再通过完整性错误检查。请在制作迁移之前检查并修复您的geostore_feature表。

  • 添加空几何约束

  • 对几何约束进行验证

  • geostore.routing已提取到django-geostore-routing

    • 将django-geostore-routing添加到您的项目依赖项中
    • 将geostore_routing添加到您INSTALLED_APPS中,而不是geostore.routing
  • 添加关系属性以直接在要素中处理关系

  • 强制几何2d

  • 改进瓦片生成

0.4.3 (2020-10-09)

  • 修复由渲染器使用的设置

0.4.2 (2020-10-06)

  • 修复特征序列化器中的几何文件标签

0.4.1 (2020-10-02)

  • 添加KML和GPX渲染器

0.4.0 (2020-09-02)

  • 警告:破坏性更改!!

    • 要继续使用PGRouting功能,请将geostore.routing添加到INSTALLED_APPS
    • 路由API响应中的一些更改。现在API提供最终几何和完整要素段列表
    • 可配置路由拓扑的容差(默认值从0.0001到0.00001)
    • HOSTNAME设置已弃用。现在使用默认请求HOST生成矢量瓦片的绝对完整URL。您可以设置TERRA_TILES_HOSTNAMES = [HOSTNAME, ]以避免此问题
  • 改进

    • 正式支持django 3.1
    • 不再需要设置HOSTNAME或TERRA_TILES_HOSTNAMES。现在,完整绝对URL以当前主机请求为前缀
    • 不再需要安装PGRouting。
    • 源/目标路由属性
      • 添加索引
      • 默认隐藏(editable=False)
    • 使用django.db.models中的JSONField
    • 更新DjangoModelFactory位置

0.3.19 (2020-06-25)

  • 警告:对于没有模式的层,禁用要素属性中的排序和搜索。
  • 优化:通过禁用大查询以查找层的属性来改进API功能
  • 修复重复的索引

0.3.18 (2020-06-24)

  • 改进数据库索引

0.3.17 (2020-03-04)

  • 将特征额外几何序列化器因子化,以便在ViewsSet中直接自定义

0.3.16 (2020-01-27)

  • 管理层与要素之间的关系(手动/交叉或距离)。
  • GeoJSON渲染器。现在API可以渲染.json或.geojson端点(或格式=?geojson)
  • 部分属性补丁。对特征视图集的补丁保留未发送的属性。
  • 在FeatureViewset中添加Json值搜索过滤器

0.3.15 (2019-12-13)

  • 支持django rest framework 3.11

0.3.14 (2019-12-11)

  • 正式支持django 3.0
  • 添加修改、创建、更新、删除额外几何形状的可能性
  • 为额外图层添加可编辑字段

0.3.13 (2019-12-09)

  • 按图层顺序排列额外几何形状

0.3.12 (2019-12-03)

改进

  • 改进文档

功能

  • 能够定义和打包特征(一对一)的额外几何形状

0.3.11 (2019-11-05)

修复

  • 防止令牌组ID解码错误

0.3.10 (2019-10-16)

新闻

  • 能够按属性键内容排序API特征结果

修复

  • 添加缺失的迁移文件

0.3.9 (2019-10-15)

  • 删除了管理部分。请在项目中使用自己的管理。
  • 删除了DRF yasg。如有需要,请在项目中进行配置。
  • 在图层上添加身份验证管理

0.3.8 (2019-10-11)

修复

  • 在FeatureViewset上添加权限管理

0.3.7 (2019-10-09)

修复

  • 修复tilejson的图层归属和描述解析

0.3.6 (2019-10-09)

修复

  • 修复tilejson中当图层没有特征时的错误
  • 修复弃用警告:"ST_Line_Substring签名在2.1.0中已弃用。请使用ST_LineSubstring"。
  • 修复当图层中没有特征时的瓦片生成
  • 修复图层的权限管理

0.3.5 (2019-10-03)

新闻

  • 添加一种方法,通过其名称获取json模式属性类型

修复

  • 修复在定义了几何形状的图层上导出shapefile的bug。
  • 修复tilejson中组图层的URL
  • 修复tilejson中当图层没有特征时的错误
  • 即使没有特征也返回tilejson

0.3.4 (2019-09-26)

修复

  • 在打包中集成test/factories

0.3.3 (2019-09-25)

前端破坏性更改

  • 访问tilejson的键从'layer_tilejson'和'group_tilejson'更改为两种情况下的'tilejson'。

修复

  • 修复防止旧terracommon应用程序迁移的迁移文件

0.3.2 (2019-09-24)

修复

  • 修复防止旧terracommon应用程序迁移的迁移文件

0.3.1 (2019-09-11)

破坏性更改

  • 应用程序名称从terra移动到geostore。结构相同,因此备份和恢复您的数据

0.3.0 (2019-09-09)

第一个公开标签

  • 从terracommon.terra提取的Terra应用程序

项目详细信息


下载文件

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

源分发

django-geostore-1.0.0.tar.gz (50.9 kB 查看散列)

上传时间

支持者