【发布时间】:2021-09-02 23:56:46
【问题描述】:
给定一个坐标为 (long, lat) 的点,并给定一个矩形的 4 个边点,坐标为 (long1, lat1), (long2, lat2), (long3, lat3), (long4, lat4)。
如何检查该点是否在球体的矩形内(例如,矩形可能不是“平面”)?
一个点是否在矩形内的简单检查对我来说很清楚,但如果我们假设点和矩形在地球上,我认为这是不正确的。
您有什么建议或解决方案吗?我需要找到使用 NodeJS 的解决方案。也许有这样的任务框架?
【问题讨论】:
-
这样的矩形有多大?你是几南几北?你想精确到什么程度?小于 500 公里,纬度 72 度以下:笛卡尔数学就足够了(参见 UTM)
-
这会有所不同。用户可以在地球地图内缩小和缩小,矩形就是“地图”本身。我们如何以不同的方式实现它 - 使用欧几里得数学?
-
哪个投影?换句话说,您可能已经在某侧有恒定的经度,也可能还有恒定的纬度,这简化了计算。但是如果矩形是窗口本身,......你如何从纬度/经度计算x,y?只需计算该点的 x,y 并检查它是否在屏幕边界内(并且屏幕是笛卡尔/欧几里得)。 [对我来说“笛卡尔”:在欧几里得空间中与垂直轴坐标,所以是的,使用欧几里得数学]
标签: node.js geolocation coordinates latitude-longitude