模型瓦片局部更新

使用说明

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

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

源瓦片金字塔剖分类型与更新内容的关系为: |金字塔剖分类型|更新方式|属性更新|新增对象|修改/替换对象|删除对象 |:----|:----|:----|:----|:----|:---- |四叉树|依范围更新|支持|支持|支持|支持 |四叉树|依ID更新|支持|支持|支持|不支持 |八叉树|依范围更新|支持|支持|支持|支持 |八叉树|依ID更新|支持|支持|不支持|不支持 |KD树|依范围更新|支持|支持|支持|支持 |KD树|依ID更新|支持|支持|支持|不支持

参数说明

参数名 参数释义 参数类型
SCP路径 输入源瓦片的配置文件(*.scp)。源瓦片是基于源模型数据集生成的S3M瓦片,且瓦片路径、瓦片名称等参数跟瓦片生成时保持一致。 String
模型数据集 输入包含所有结果数据的模型数据集。 DatasetVector
更新范围
(可选)
当选择按“数据集范围更新”时,通过指定数据源和数据集来确定数据局部更新的范围。
指定数据集所在的空间范围是瓦片局部更新的范围。
DatasetVector
更新ID
(可选)
当选择按“指定ID值更新”时,输入模型数据集AB中待更新模型对象的SMID或业务ID,多个ID之间用逗号隔开,例如:1,2。 String
更新方式
(可选)
设置数据更新方式,包括几何数据和属性文件、几何数据、属性文件。
  • 几何数据和属性文件:更新数据的几何数据和属性文件。
  • 几何数据:仅更新数据的几何数据。
  • 属性文件:仅更新数据的属性文件。
    如果是新增属性字段,无论按照数据集范围更新还是按照指定ID值更新,都会更新所有对象。
UpdateType

输出结果

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