# 擦除 ================= 缺前端控件截图 ## 功能说明 对两份输入数据进行格网划分计算,求出其中一份据对另一份的擦除结果 ## 参数说明 +----------+--------------+--------+------------+ | 参数名称 | 参数取值范围 | 默认值 | 参数描述 | +----------+--------------+--------+------------+ | XY容差 | 浮点数 | 0.001 | 经纬度容差 | +----------+--------------+--------+------------+ 注意:擦除要素可以为点、线或面,只要输入要素的要素类型等级与之相同或较低。面擦除要素可用于擦除输入要素中的面、线或点;线擦除要素可用于擦除输入要素中的线或点;点擦除要素仅用于擦除输入要素中的点! ## 算法原理 输入数据: .. image:: uploads/9c7c95b8d675ea13cf07001f8cb21f58/图片2.png 其计算过程与交集取反的计算过程相似: 1. 对两份输入数据进行格网划分,并将同一网格中的数据划分到一起 2. 若图层中只含有图层一的数据,则输出Key值为图层一要素gid,几何结果为空要素。若图层一与图层二的要素面面相交为面、面线相交为线或线线相交为线,则视为有效相交,则输出Key值为图层一要素gid,几何结果为相交结果。其他相交情况如面面相交为点线、面线相交为点或线线相交为点视为无效相交,则输出Key值为图层一要素gid,几何结果为空要素 3. 通过groupbykey,把图层一每个要素与图层二所有要素的相交结果组合到迭代器,对所有相交结果计算union,即求并集,最后计算该图层一要素与并集的差集,即得到擦除结果 输出结果: .. image:: uploads/0fac934dcf9634ccb373845528e4db63/图片13.png