【发布时间】:2011-12-06 18:42:41
【问题描述】:
我有一系列经纬度坐标。我需要将其转换为 X、Y 坐标。我读过 UTM,但问题是 UTM 坐标是相对于单个区域的。
例如,这两个坐标 UTM 具有相同的东距 (x) 和北距 (y),但代码区不同,因此每个坐标都指向完全不同的位置(一个在西班牙,一个在意大利):
我需要一种方法来自动转换绝对 X、Y 坐标中的亲属坐标。想法?
【问题讨论】:
标签: geolocation utm
我有一系列经纬度坐标。我需要将其转换为 X、Y 坐标。我读过 UTM,但问题是 UTM 坐标是相对于单个区域的。
例如,这两个坐标 UTM 具有相同的东距 (x) 和北距 (y),但代码区不同,因此每个坐标都指向完全不同的位置(一个在西班牙,一个在意大利):
我需要一种方法来自动转换绝对 X、Y 坐标中的亲属坐标。想法?
【问题讨论】:
标签: geolocation utm
必须是 UTM 吗?如果没有,你也可以使用Mercator,这是一个不依赖区域的更简单的投影。
例如,请参阅the Bing Maps system。
【讨论】:
您应该能够使用ProjNET 库。 您需要的是找到定义您的投影的 WKT(众所周知的文本),然后您应该能够在它们之间进行转换。
var utm33NCoordinateSystem = CoordinateSystemWktReader.Parse("WKT for correct utm zone") as IProjectedCoordinateSystem;
var wgs84CoordiateSystem = CoordinateSystemWktReader.Parse(MappingTransforms.WGS84) as IGeographicCoordinateSystem;
var ctfac = new CoordinateTransformationFactory();
_etrsToWgsTransformation = ctfac.CreateFromCoordinateSystems(etrs89CoordinateSystem,wgs84CoordiateSystem);
double[] transform = _etrsToWgsTransformation.MathTransform.Transform(new double[] { y,x });
注意:您必须找到正确的 WKT,但这可以在项目网站上找到。
此外,您可能需要翻转输入的顺序,具体取决于转换。
【讨论】:
如果我们想纠正两点之间的方位和距离,而不是我们使用(极坐标)方法,首先使用科学计算器按下按钮极坐标而不是先开始括号 对于距离 POL(N-N,E-E) 用于轴承 POL(N-N,E-E)RclTan-1 现在你有一个正确的方位
【讨论】: