给定一个坐标列表,如何计算最小边界矩形(MBR),避免 Unlocking the Mysteries of the Bounding Box中描述的全局陷阱?
Google Maps API方法fitBounds()
似乎正在妥善处理问题。
使用上面文章中的一个例子,假设我必须计算假想国家Boxtopia中两个位置的边界框:point A(170, 40)
和point B(-170, 50)
。如果构建我的边界框使用xmin, ymin
作为西南角,xmax, ymax
作为西北角,我将分别得到(-170, 40)
和(170, 50)
,这个框将跨越340度而不是最低20度。
答案 0 :(得分:1)
对于1D问题,您正在寻找“圆圈”上最大的空间隔。对数据进行排序,然后寻找最大的差距将在O(N.log(N))中提供答案。
答案 1 :(得分:0)
一个简单的解决方案是对x坐标进行排序,并逐步将add 360添加到最低值,看看它是否会产生较小的界限。