我正在使用带有圆圈标记的Leaflet和Shiny。试图弄清楚如何检测圆形标记是否与一个或多个标记重叠。我需要根据它们是否重叠来设置每个标记的颜色。你们有没有做过这样的事情?感谢您的任何建议:)
答案 0 :(得分:0)
您可以使用累加器。将空白空间表示为n乘m为0的m矩阵,因此矩阵的每个像元都代表粒度最低的单个点(如像素)。现在用1标记您的标记在累加器中的位置。如果您在这一点上取矩阵的总和应为1。对于同一标记中包含在圆标记中的所有点,都用1标记。现在检查累加器的总和,如果它等于圆中的点数+ 1,则该圆不覆盖该点,但如果仅等于圆的点数,则标记位于圆内。 / p>
编辑:如果要查找重叠:不仅将点设置为1,还为包括该点的每个对象将点增加1。因此,重叠的值将为2,三重重叠的值为3,依此类推。然后,您可以通过搜索局部或全局最大值或最小值来找到这些值。