跳转到主要内容

3Di规范化文件的模式

项目描述

threedi-schema

https://img.shields.io/pypi/v/threedi-schema.svg Github Actions status

3Di规范化文件的模式。

此项目暴露了

  • 一个用于与规范化文件交互的ThreediDatabase对象。

  • 一个ModelSchema对象(ThreediDatabase().schema),用于适应模式版本(称为“迁移”)。

  • 3Di模式作为SQLAlchemy模型和python枚举类。

*此软件包直接公开规范化文件的SQLAlchemy模型。此软件包的较小版本可能会更改这些模型,并且将与之前版本不兼容。如果使用SQLAlchemy模型,我们强烈建议将较小版本修复如下:threedi-schema==0.214.*。否则,仅修复主版本就足够了。

示例

以下代码示例显示了如何升级规范化文件

from threedi_schema import ThreediDatabase

db = ThreediDatabase("<Path to your sqlite file>")
db.schema.upgrade()

以下代码示例显示了如何列出Channel对象

from threedi_schema import models
# NB: Ensure that you pin the minor version of threedi-schema
# when using models (or constants).

channels = db.get_session().query(models.Channel).all()

命令行界面

迁移到最新模式版本

threedi_schema -s path/to/model.sqlite migrate

确保存在空间索引

threedi_schema -s path/to/model.sqlite index

安装

使用以下命令安装

$ pip install threedi-schema

threedi-schema的变更日志

0.226.6 (2024-10-03)

  • 在重命名表时复制id列。

0.226.5 (2024-09-30)

  • 防止迁移225和226在新的表名中任何已存在时失败

  • 传播0.225.6的更改。

0.226.4 (2024-09-25)

  • 传播来自224的修复。

0.226.3 (2024-09-24)

  • 传播来自224.5的修复。

0.226.2 (2024-09-23)

  • 发布包含修复0.224.4和0.225.3的版本。

0.226.1 (2024-09-12)

0.226.0 (2024-09-10)

  • 实施与2d和1d2d相关的300版本架构更改。

  • 将v2_dem_average_area重命名为dem_average_area,v2_exchange_line重命名为echange_line,v2_grid_refinement重命名为grid_refinement_line,v2_grid_refinement_area重命名为grid_refinement_area,v2_obstacle重命名为obstacle,v2_potential_breach重命名为potential_breach

  • 确保所有这些表都有geom、code、display_name和tags列

  • 确保所有列除了geom外都是可空的

  • 在grid_refinement_line和grid_refinement_area中将refinement_level重命名为grid_level

  • 将potential_breach.exchange_level重命名为initial_exchange_level

  • 删除potential_breach.maximum_breach_depth并将maximum_breach_depth.final_exchange_level设置为exchange_level - maximum_breach_depth

0.225.6 (2024-09-30)

  • 修复迁移0.225.0中不正确的left join

0.225.5 (2024-09-25)

  • 传播来自224.6的修复。

0.225.4 (2024-09-24)

  • 传播来自224.5的修复。

0.225.3 (2024-09-23)

  • 在迁移中使用唯一的临时表名。

0.225.2 (2024-09-12)

0.225.1 (2024-09-09)

  • 为1d_advection_type创建枚举并用于PhysicalSettings.use_advection_1d。

0.225.0 (2024-09-09)

  • 将v2_1d_boundary_conditions和v2_2d_boundary_conditions重命名为boundary_condition_1d和boundary_condition_2d。

  • 将v2_1d_laterals和v2_2d_laterals重命名为lateral_1d和lateral_2d。

  • 在boundary_condition_2d和lateral_2d中将_the_geom重命名为geom,并为boundary_condition_1d和lateral_1d添加geom列。

  • 删除边界条件和横向表上的所有约束,除了id和geom上的NOT NULL约束。

0.224.7 (2024-09-30)

  • 防止迁移222到224在新的表名中任何已存在时失败。

  • 交换control_measure_map几何形状的起点和终点。

  • 将泵站相关的控制几何形状修改为泵站起始节点。

  • 确保control_measure_map.geom是一个有效的线。

0.224.6 (2024-09-25)

  • 确保dry_weather_flow_map.geom和surface_map.geom是有效的线。

0.224.5 (2024-09-24)

  • 不要迁移引用不存在节点的控制。

0.224.4 (2024-09-23)

  • 在迁移中使用唯一的临时表名。

0.224.3 (2024-09-12)

  • 将dry_weather_flow.dry_weather_flow_distribution_id的类型设置为整数。

0.224.2 (2024-09-05)

  • 更改aggregation_settings.flow_variable的名称以匹配threedigrid。

  • 使重命名栅格路径更具弹性。

  • 修复在dry_weather_flow和surface中设置默认值。

  • 实际上在dry_weather_flow_map和surface_map中设置geom列。

0.224.1 (2024-09-02)

  • 修复224迁移中创建control_measure_map.geom。

  • 处理迁移表面/不透水表面时创建的空几何形状。

  • 撤销从自定义load_spatialite函数中删除的更改。

  • 从几个设置表中删除未使用的列。

  • 将groundwater.equilibrium_infiltration_rate_type重命名为equilibrium_infiltration_rate_aggregation。

  • 将control_measure_location.object_id重命名为connection_node_id。

  • 将栅格文件路径替换为文件名。

0.224.0 (2024-08-16)

  • 实施与结构控制相关的300版本架构更改。

  • 将架构简化为四个表(control_measure_location、control_measure_map、memory_control和table_control)并删除表v2_control、v2_control_delta、v2_control_measure_group、v2_control_measure_map和v2_control_pid。

  • 删除时间控制及其相应的表(v2_control_timed)。

  • 向所有四个表添加几何形状(带有可选的显示名称和标签)。

  • 可以从迁移代码中获得全面的概述(threedi_schema/migrations/versions/0224_db_upgrade_structure_control.py)

0.223 (2024-08-01)

  • 实施与300版本架构相关的流入更改。

  • 用surface和dry_weather_flow表替换v2_surface和v2_impervious_surface(及其映射)。

  • 根据simulation_template_settings.use_0d_inflow,从v2_surface或v2_impervious_surface重新分配数据到surface和dry_weather_flow表。

  • 用默认数据填充surface_parameters和dry_weather_flow_distribution表。

  • 可以从迁移代码中获得全面的概述(threedi_schema/migrations/versions/0223_upgrade_db_inflow.py)

0.222.2 (2024-06-13)

  • 跳过将转换为geopackage的测试。

0.222.1 (2024-06-13)

  • 在 300 版本之前的模式中禁用 convert_to_geopackage

  • 确保 schema.upgrade 中的 revision 格式正确

0.222.0 (2024-05-22)

  • 实施与模拟设置相关的 300 版本变更

  • 将所有设置表减少到单行。不再允许每个模式有多个设置。

  • 可以通过迁移代码(threedi_schema/migrations/versions/0222_upgrade_db_settings.py)轻松获得完整概述;概括如下
    • 将设置表从“v2_foo”重命名为“foo”

    • 重命名设置表中的多个列

    • 将设置移动到特定上下文的表,而不是单个通用表

0.221 (2024-04-08)

  • 从 v2_cross_section_location(仅 sqlite)中删除列 vegetation_drag_coeficients,该列是在迁移 218 中添加的

0.220 (2024-02-29)

  • 添加对 geopackage 的支持

  • 由于 geopackage 不支持一个表中多个几何对象,从 v2_connection_nodes 中删除 the_geom_linestring

0.219.3 (2024-04-16)

  • 修复在最新的 spatialite 上使用 upgrade_spatialite_version=True 时未设置视图的问题

0.219.2 (2024-04-04)

  • 更新 v2_cross_section_location_view 以包含植被列

0.219.1 (2024-01-30)

  • 修复迁移到 nullable friction_value 的问题,导致 friction_value 为字符串类型

  • 更新操作版本以使用新的 NodeJS

  • 使 CrossSectionLocation.friction_value 可为空

0.218.0 (2024-01-08)

  • 向 CrossSectionLocation 添加参数 vegetation_stem_density、vegetation_stem_diameter、vegetation_height 和 vegetation_drag_coefficient

  • 向 CrossSectionDefinition 添加参数 friction_values、vegetation_stem_densities、vegetation_stem_diameters、vegetation_heights 和 vegetation_drag_coefficients

0.217.13 (2023-10-02)

  • 将 set_gate_height 更改为 set_gate_level

0.217.12 (2023-10-02)

  • 将 set_gate_height 添加到控制结构选项中

  • 设置与表格控制类似的时间控制列限制

0.217.11 (2023-09-19)

  • 修复输送值列表

0.217.10 (2023-09-19)

  • 取消标记输送列作为 beta 版本

  • 将 zest.releaser 配置移动到 pyproject.toml

0.217.9 (2023-08-16)

  • 修复格式不正确的 beta_features.py

0.217.8 (2023-08-15)

  • 将具有输送的摩擦类型标记为 beta 特性

0.217.7 (2023-07-28)

  • 不要将 journal_mode 设置为 MEMORY,因为它会导致模式版本字段未更新,使迁移崩溃

0.217.6 (2023-07-13)

  • 扩展 FrictionType 枚举以包含具有输送的 Chezy 摩擦和具有输送的 Manning 摩擦

0.217.5 (2023-06-15)

  • 修复 set_views(spatialite 元数据表未更新)

0.217.4 (2023-06-15)

  • 修复 SQLAlchemy 引擎和连接的使用

  • 不要池化连接(解决 Windows 上的文件权限拒绝问题)

0.217.3 (2023-06-12)

  • 将 1D2D 地下水列添加到视图中

0.217.2 (2023-05-24)

  • 由于即将发布,从 beta 特性中删除植被和地下水设置

0.217.1 (2023-05-17)

  • 重写发布工作流程以使用支持的 github action 进行 github 发布

  • 使用构建包而不是 setuptools 构建 threedi-schema 发布

0.217.0 (2023-05-08)

  • 将植被列重命名为与栅格选项匹配

0.216.4 (2023-04-11)

  • 修复 libspatialite 4.3 不兼容性(在 0.216.3 中引入)

0.216.3 (2023-04-04)

  • 修复迁移 214 中的 DROP TABLE(表“v2_connected_pnt”、“v2_calculation_point”、“v2_levee”仍然存在)。在迁移 216 中再次发出 DROP TABLE

0.216.2 (2023-03-24)

  • 从 1d 边界条件的 beta 列中删除地下水列

  • 在全局设置中检查植被拖曳设置 id,而不是植被拖曳 id 的 beta 列

0.216.1 (2023-03-23)

  • 添加 beta_features.py 以包含空间库列和处于 beta 状态的列的值列表

0.216.0 (2023-03-15)

  • 添加 v2_vegation_drag 表

  • 向管道、渠道和检查井添加 1D2D 地下水属性

0.214.6 (2023-03-13)

  • 对于 BoundaryCondition1D 和 BoundaryConditions2D,使 timeseries 可以为空

0.214.5 (2023-02-16)

  • 添加 SQLAlchemy 2.0 支持,并删除 1.3 支持

0.214.4 (2023-01-31)

  • 在迁移 214 中正确清理 geo 表

0.214.3 (2023-01-19)

  • 调整版本控制:将现有版本前缀为 0

  • 修复 Geoalchemy2 0.13.0 的弃用警告

0.214.2 (2023-01-17)

  • 修复打包(包括迁移)

0.214.1 (2023-01-17)

  • 修复打包

0.214.0 (2023-01-17)

项目详情


发布历史 发布通知 | RSS 源

下载文件

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

源代码分发

threedi_schema-0.226.6.tar.gz (64.2 kB 查看散列)

上传时间 源代码

构建分发

threedi_schema-0.226.6-py3-none-any.whl (84.7 kB 查看散列)

上传时间 Python 3

由以下支持