使用地图坐标确定点是否位于矩形中

本文关键字:是否 于矩形 地图 坐标 | 更新日期: 2023-09-27 18:34:40

我的大脑今天不工作了。 我需要测试一个点(纬度,经度(是否位于地图上的矩形内。 矩形由其北、东、南和西边框定义。 打嗝是所有点或值都在地图坐标系中。 为了处理日期变更线环绕,我假设如果我们从左到右,经度总是"介于"之间。

bool PointInRectangle(Point pt, double North, double East, double South, double West)
{
    // ????
}

使用地图坐标确定点是否位于矩形中

假设东和北为正:

bool PointInRectangle(Point pt, double North, double East, double South, double West)
{
    // you may want to check that the point is a valid coordinate
    if (West < East)
    {
        return pt.X < East && pt.X > West && pt.Y < North && pt.Y > South;
    }
    // it crosses the date line
    return (pt.X < East || pt.X > West) && pt.Y < North && pt.Y > South;        
}