【发布时间】:2015-10-27 17:59:52
【问题描述】:
所以这是基本问题。我目前正在 Unity 3D 中用 C# 编写 GPS 系统(给我们分配任务的人让我们使用这个程序,所以我不能在其他任何事情上做)。
现在我遇到了一个小问题,基本上我们可以从安卓手机请求(我们认为是十进制的)坐标,但现在我们正试图将这些坐标转换为 X、Y、Z 坐标。最好是 X 和 Z,因为我们实际上并不需要高度。然而,到目前为止,我们在互联网上找到的所有内容都是为了转换为球形地图,因为我们只有一个基本的平面数字地图。
如果有人知道如何将我们拥有的坐标转换为基本的 X 和 Z 坐标(即我们的经度和纬度),那就太棒了。
为了快速说明,我不确定我们拥有的坐标是否是实际的十进制坐标,所以它们看起来像这样:
纬度:53.228888 经度:6.5403559
如果您在地图上查找这些坐标,则这些坐标最终应该位于“Wegalaan 3, Groningen, The Netherlands”。
已经谢谢了!
编辑:(这也在 cmets 中)
抱歉,如果可能造成混淆。老实说,我只了解这一切是如何运作的,无论如何要弄清楚一些事情。我目前正在 Unity 中使用我从我居住的城市(荷兰格罗宁根)的互联网上获得的简单 2D 地图,并且我试图基本上获取从我的 android 手机获得的 GPS 坐标,然后在该地图上显示它们有一个红点,但是要做到这一点,我需要能够将红点移动到地图上的正确坐标。我想要做的是将 GPS 坐标(经度和纬度)转换为 X 和 Z(Unity3D 平面坐标,也可能只是 X 和 Y),这样如果我将地图正确对齐,我就会得到一个小型 GPS 系统。城市。如果您对我为什么这样做感到好奇,那仅仅是因为我和我的一个朋友正在尝试使用我们的城市和这个 GPS 系统作为基础来构建一个游戏
编辑2:
说实话,我不知道笛卡尔坐标是如何工作的,但它们似乎是我正在寻找的东西:P 平面上的坐标和 X,Y 坐标我的意思是基本上只是坐标我可以在我正在使用的平面 2D 平面上使用 Unity3D。
EDIT3:
感谢您的回答,开始。这不是重复的,其次我和我的朋友已经找到了你发给我的 stackoverflow 主题,但它似乎对我们不起作用(也许我们做错了什么)。基本上,我们用该公式测试的不同地方之间的南北距离是有效的,但是它们之间的东西距离远大于应有的距离。我们认为这可能是因为该公式适用于球形地球,但也许我们做错了什么。如果有人可以进一步解释,那就太棒了!
编辑4:
我们确信这不是我们的地图有任何问题,因为我们已将它与多个位置对齐。我们得到了这些位置的坐标,然后使用这个网站:http://www.gpscoordinaten.nl/converteer-rd-coordinaten.php 将其转换为 XY 坐标,然后使用这些 XY 坐标检查我们的地图是否正确对齐。确实如此,所以我们确信我们使用的数学有问题,而不是我们的实际地图。
EDIT5:删除了很多很多语法错误。这里太热了,现在无法正常写作,所以如果其中任何一个没有意义,我非常抱歉。请告诉我,我会进行编辑以尝试解释我们正在尝试做的事情。
EDIT6:找到我自己的答案,如果你想看看我做了什么来解决我的问题,它在所有其他答案之间
【问题讨论】:
-
我不太清楚你的意思,但纬度是水平线,经度是垂直线。由于地球的曲线,两条经线之间的距离随着纬度的升高而减小,所以如果你想把它想象成一个矩形网格,它实际上是行不通的。通常在地理软件中,您会将地理坐标系转换为投影坐标系以进行显示。
-
您今天早些时候还没有发布过这个问题吗?但是:X,Y 坐标是什么意思?它应该是笛卡尔坐标吗?如果是这样,您需要哪个单元?影响这种转换的参数有很多。
-
@maniak1982 很抱歉,如果它可能会造成混淆。老实说,我只了解这一切是如何运作的,无论如何要弄清楚一些事情。我目前正在 Unity 中使用我从我居住的城市(荷兰格罗宁根)的互联网上获得的简单 2D 地图,我正在尝试基本上获取我从我的 android 手机获得的 GPS 坐标,并在该地图上显示它们红点,但是要做到这一点,我需要能够将红点移动到地图上的正确坐标。我想要做的是将 GPS 坐标(经度和纬度)转换为 X 和 Z,所以......(在我的下一条评论中继续)