有很多类似的问题,但我无法从中得到明确的答案。所以,我想在2D空间中表示纬度和经度,以便我可以在必要时计算距离。
equirectangular方法可以计算距离,但这不是我想要的。
有 UTM ,但似乎有很多区域和字母。所以距离应该考虑到区域的变化,这不是微不足道的。
我希望有一个表示,这样我就可以将x,y作为欧几里德空间中的数字处理,并且在每次我需要计算两点之间的距离时,不使用地球的直径来执行标准距离公式。
Matlab中是否有任何可以在欧几里德空间中将lat/long
更改为x,y
的内容?
答案 0 :(得分:3)
我不是matlab的专家,但答案不仅限于matlab。通常在GIS中,当您想要在欧几里德空间中执行计算时,您必须对数据应用“投影”。有各种类型的投影,其中最受欢迎的是Transverse Mercator
这种预测的共同特征是你不能用它精确地代表整个世界。我的意思是投影是基于选择的子午线,并且精确到足够远离它(例如,高斯克鲁格投影在离子午线约-500km处非常准确。
无论选择何种投影,您都必须选择某种“区域”或“子午线”,因为在没有任何变形(无论是距离,角度或面积)的情况下,无法将球体转换为平面。
因此,如果您正在处理位于某个地理区域周围的一组数据,您可以简单地转换(投影)数据并将其视为正常的Enclidean 2d空间。
但如果您考虑处理遍布全球的数据,则必须使用适当的区域对其进行正确聚类和投影。