模型瓦片局部更新

使用说明

针对基于单个模型数据集生成的瓦片数据,该工具支持按“指定更新范围”或者“指定对象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