Я получаю географические координаты в lon и lat, как NorthWest и SouthEast lon / lat.Итак, когда я их получил, я переводил в метрическую систему.Итак, здесь я получаю свой первый прямоугольник с координатами north_west и south_east, затем у меня есть ограничивающий прямоугольник в той же метрической системе с координатами север, юг, запад и восток.И мне нужно было проверить эти два прямоугольника на пересечении в пределах касания ребер, что я написал:
bool filter(TilePosition const& tile_position) const noexcept override
{
MetricBoundingBox tile_bounds{tile_position};
bool cond1 = (tile_bounds.north <= south_east_.lon);
bool cond2 = (tile_bounds.south >= north_west_.lon);
bool cond3 = (tile_bounds.west <= south_east_.lat);
bool cond4 = (tile_bounds.east >= north_west_.lat);
return cond1 && cond2 && cond3 && cond4;
}
И я не уверен, правильно ли я это сделал?Мое требование - если границы второго прямоугольника пересекаются с границами первого прямоугольника, то второй должен быть оставлен.Остальное, фильтр.