多模型瓦片局部更新

使用说明

针对基于多模型数据合并生成的S3M瓦片数据,该工具支持按“指定更新范围”或者“指定业务ID”方式实现瓦片数据的局部更新,从而实现城市精细模型、BIM、建筑白模等数据的按需更新。功能使用要点:

  • 数据备份:此操作会删除历史数据。执行前请确认已备份原始数据。
  • 参数一致:更新操作的瓦片必须使用与创建原始瓦片时完全一致的参数(如瓦片路径、名称、插入点、边长、类型等),否则可能会导致失败。
  • 数据准备:
    • 源S3M瓦片数据:待更新的目标瓦片。
    • 更新模型数据集:必须包含模型的完整最新状态:修改对象时,需包含所有未改动及修改后的对象;删除对象时,仅含剩余对象;新增对象时,包含所有原有及新增对象;更新属性时,需包含未修改属性和修改属性的对象。数据集名称必须与原始瓦片attribute.json中的layerName完全一致,同时支持输入全新数据集以实现增量更新,且应避免任何可能改变对象SMID的操作(如数据源紧缩)。
    • 更新范围数据集(可选):当选择采用“按范围更新”方式时需要,用于指定一个或多个不连续的更新区域。
  • 更新方式包括依据按指定范围更新、按指定业务SMID/ID(源瓦片生成时选择业务ID作为对象ID字段,业务ID需保证唯一性)更新。
  • 更新原则:遵循“结果替换”原则,系统会根据指定的范围或ID列表,定位到原始瓦片中的相应部分并删除,然后将输入的模型数据集中对应范围或ID的新数据写入瓦片。
    • 增加对象:操作输入的模型数据集需包含增加的模型对象或者新模型数据集,更新范围或ID为增加对象对应的空间范围或ID。
    • 删除对象:仅采用“依据范围更新”时,操作输入的模型数据集需删除指定模型对象,更新范围为删除对象对应的空间范围。
    • 修改对象:操作输入的模型数据集需删除要修改的原模型对象,包含修改后的模型对象,更新范围或ID为修改对象对应的空间范围或ID。
    • 更新属性:操作输入的模型数据集需修改某些对象的属性信息,更新范围或ID为修改对象对应的空间范围或ID。
  • 更新次数无限制。

源瓦片金字塔剖分类型与更新内容的关系为:

金字塔剖分类型 更新方式 属性更新 新增对象 修改/替换对象 删除对象
四叉树 依范围更新 支持 支持 支持 支持
四叉树 依ID更新 支持 支持 支持 不支持
八叉树 依范围更新 支持 支持 支持 支持
八叉树 依ID更新 支持 支持 不支持 不支持
KD树 依范围更新 支持 支持 支持 支持
KD树 依ID更新 支持 支持 支持 不支持

参数说明

参数名 参数释义 参数类型
SCP路径: 输入源模型瓦片的配置文件(*.scp)。 String
模型数据集: 输入待操作的模型数据集。待操作模型数据集的名称,需要与原始模型数据集名称一致,且包含所有模型对象,用于为局部更新提供数据基础。 DatasetVector
按数据集范围更新
(可选)
设置数据更新方式。如果勾选,则按照指定数据范围更新数据;否则,按照指定对象ID更新数据。 Boolean
更新范围:
(可选)
当选择按“数据集范围更新”时,通过指定数据源和数据集来确定数据局部更新的范围。
指定数据集所在的空间范围是数据局部更新的范围。
DatasetVector
业务ID:
(可选)
当选择按“指定ID值更新”时,通过设置业务ID号来确定更新对象,多个业务ID号之间用逗号隔开。例如:阶段1,阶段2。如果不设置业务ID,默认以SMID作为更新依据。 String
更新方式:
(可选)
设置数据更新方式,可选项包括几何数据和属性文件、属性文件、几何数据。
  • 几何数据和属性文件:更新数据的几何数据和属性文件。
  • 几何数据:仅更新数据的几何数据。
  • 属性文件:仅更新数据的属性文件。
    如果是新增属性字段,无论按照数据集范围更新还是按照指定ID值更新,都会更新所有对象。
UpdateType

输出结果

参数名 参数释义 参数类型
多模型瓦片局部更新 结果瓦片数据的存储路径 String