数学从来都不是我的强项,我正在为一项任务而苦苦挣扎。
我需要确定一组经度和纬度坐标是否落在一个框内,其中给出了最大/最小经度和最大/最小纬度。
任何帮助,将不胜感激。
** 已编辑 **
我正在使用 GPS 坐标,因此最小经度可能大于最大经度。即如果框超过日期线。
数学从来都不是我的强项,我正在为一项任务而苦苦挣扎。
我需要确定一组经度和纬度坐标是否落在一个框内,其中给出了最大/最小经度和最大/最小纬度。
任何帮助,将不胜感激。
** 已编辑 **
我正在使用 GPS 坐标,因此最小经度可能大于最大经度。即如果框超过日期线。
if( latitude>= given.minimumLatitude and lat <= given.maximumLatitude )
{
if( longitude >= given.minimumLongitude and longitude <= given.maximumLongitude )
{
return true;
}
}
return false;
box = left, right, top, bottom
point = x, y
if (x >= left && x <= right && y >= bottom && y <= top) {
return true
} else {
return false
}
给定minlat
, maxlat
, minlong
and maxlong
(即你的盒子的 4 个角),那么确定你是否在 andlat
之间minlat
以及maxlat
你long
在minlong
and之间是一个简单的问题maxlong
。
如果盒子跨越180°
通过添加(或减去)相同的偏移量(注意符号)来移动所有经度,或者将盒子沿经度分成两180°
部分并分别测试两半。