【发布时间】:2020-06-18 01:14:43
【问题描述】:
用户在地图上画了一条线,并希望在该线的特定距离内查找一些信息。 我有 "lat, lon" 格式的 A 和 B 位置,用户告诉我距离 (距离在 A 和 A1) 之间,以 “米、公里、...” 为单位。 如何以 "lat, lon" 格式计算 A1, A2, B1, B2 位置?我正在使用 C# 和 CoordinateSharp 处理位置。
p.s:我已阅读 this,它适用于笛卡尔网格系统,但我无法针对我的问题调整其代码。
【问题讨论】:
-
你为什么不能适应它?因为您需要球面几何的精确解,或者因为您无法将 lat、lon 转换为以 km 为单位的数字?
-
@OlivierJacot-Descombes 几乎两者都有,我的计算可以容忍最大 10 米的误差,我不知道如何将 lat 替换为 Y,long 替换为 X,经度数不同每个纬度,现在不知何故我认为这个公式可能不适用于地理位置:-?
-
如果您需要一个精确的解决方案,那么这可能是 math.stackexchange.com 的一个问题
-
将 lat/lon 转换为 UTM(CoordinateSharp 显然已经可以这样做了),在 UTM 中执行计算(它使用米作为单位),然后转换回 lat/lon。
标签: c# geolocation geometry gis geo