从纬度和经度到绝对X、Y坐标

发布于 2024-12-10 05:27:38 字数 386 浏览 3 评论 0原文

我有一系列纬度/经度坐标。我需要将其转换为 X、Y 坐标。我读过有关 UTM 的内容,但问题是 UTM 坐标是相对于单个区域的。

例如,这两个坐标 UTM 具有相同的东距 (x) 和北距 (y),但代码区域不同,因此每个坐标指向完全不同的位置(一个在西班牙,一个在意大利):

我需要一种方法来自动转换绝对 X、Y 坐标中的相对坐标。有想法吗?

I have a series of Lat/Long coords. I need to transform it in X, Y coordinates. I've read about UTM, but the problem is that UTM coordinates are relatives to a single zone.

For example, this two coordinates UTM has the same Easting (x) and Northing (y) but different code zone, and so each coords point to a completly different location (one in spain and one in italy):

I need a method to automatically transform that relatives coord in absolute X, Y coordinates. Ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笔芯 2024-12-17 05:27:38

一定是UTM吗?如果没有,您还可以使用 Mercator,这是一种更简单的投影,不依赖于在区域上。

例如,请参阅Bing 地图系统

Does it have to be UTM? If not, you can also use Mercator, which is a simpler projection that doesn't rely on zones.

See, for example, the Bing Maps system.

身边 2024-12-17 05:27:38

您应该能够使用 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,但这可以在项目站点上找到。

此外,您可能必须根据转换来翻转输入的顺序。

You should be able to use the ProjNET library.
What you need is to find the WKT (well known text) that defines your projections, and then you should be able to convert between them.

       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 });

Note: you have to find the correct WKTs, but that can be found on the project site.

Also you may have to flip the order of the inputs, depending on the transforms.

满身野味 2024-12-17 05:27:38

如果我们想纠正轴承&两点之间的距离比我们使用科学计算器使用(极坐标)方法首先按下按钮极坐标比首先开始括号
对于距离 POL(NN,EE)
对于轴承 POL(NN,EE)RclTan-1
现在你已经有了正确的方位

if we want to correct bearing & Distance in between two points than we use (Polar) method by using Scientific Calculator first of all Press The Button polar than started bracket first
For the Distance POL(N-N,E-E)
For the Bearing POL(N-N,E-E)RclTan-1
Now you have got a Correct bearing

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文