3Di规范化文件的模式
项目描述
threedi-schema
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)
将dry_weather_flow.dry_weather_flow_distribution_id的类型设置为整数(https://github.com/nens/threedi-schema/pull/90)
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)
将dry_weather_flow.dry_weather_flow_distribution_id的类型设置为整数(https://github.com/nens/threedi-schema/pull/90)
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)
使用 cookiecutter 和 https://github.com/nens/cookiecutter-python-template 创建初始项目结构
从 threedi-modelchecker 迁移代码,重新排列为“领域”、“应用”、“基础设施”、“迁移”
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
threedi_schema-0.226.6.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4365e90e7dc33c13c92ff81aeecc646c4041e5274dc87e55a2f96aa3bfe97acc |
|
MD5 | 93d523b1dab6ab077de111a4a4d5c153 |
|
BLAKE2b-256 | 00e4b362a13982f7ab5dc8a6005264d066126b4b99872fed10560e9a7cfaf05d |
threedi_schema-0.226.6-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | bba14982570492ed7c2eb166b345e2dc195a67b924598428d57ff964d8e40b41 |
|
MD5 | 60741de550ba1c1e0f8e49b7e73d0989 |
|
BLAKE2b-256 | 54339b23e8dad3095d9940e602834efe48d540079ae14803f9a933f064a43307 |