3
\ begingroup美元

我是一个学生程序员,用很少的地理知识,我与映射为一个项目合作,并将屏幕上的纬度和经度点(映射到像素)。
所以我的主要问题与系统的纬度和经度必须指定一个半球地图上的点的坐标。有系统提供坐标,而无需指定一个方向,也是广泛使用的吗?如果是这样,工具将在两个系统间存在吗?
例如类似的地图工具条的角落(0,0),我们直接X增加,当我们沿着Y增加。

谢谢你!

\ endgroup美元
4
  • 1
    \ begingroup美元 答案的一部分取决于你想显示区域的大小。经度线随纬度变化之间的距离。没有完美的一般回答你的问题,因为试图展示整个地球就像在一块剥一个橘子,然后试图平皮放在桌上。你不会得到一个矩形,甚至打折的地球并不是一个完美的球体。许多国家或国家都有自己的坐标系统工作在他们的地区。 \ endgroup美元
    - - - - - -haresfur
    2017年6月22日23:08
  • \ begingroup美元 你只需要不知道方向,你需要知道你使用投影三维点映射到一个2 d视图。看着地图投影,不同的人解决不同的问题。看看开源GIS代码转换。 \ endgroup美元
    - - - - - -凯西
    2017年6月23日,0:15
  • 2
    \ begingroup美元 指定特定的半球通常是使用一个积极或消极的数字。有一个二元运算,可用于将一个信号分配给一个数字。它被称为“两补。”This may lead you in the right direction. \ endgroup美元
    - - - - - -reevesii
    2017年6月23日,在11:30
  • 2
    \ begingroup美元 它还取决于lat &长co-ords使用。一般来说,北航是正数&南迁是负数。关于西行,主要用于美洲他们可以转化为经常减去从360度-因此40 W 360 - 40 = 320 e .这种方式经常总是正的。 \ endgroup美元
    - - - - - -弗雷德
    2017年6月23日,在十三11

3答案3

7
\ begingroup美元

回答这个问题的标题(与另一个问题):更好的为了什么?

体内回答问题:还有另一个系统被称为直线或x y z笛卡尔坐标。这个系统是一样的三维笛卡尔坐标你用于微积分课。地球的中心是(0,0,0),这和一般z方向趋于两极,而x和y去赤道成直角,转向点指定使用的任何数据。例如,北极可能坐标在米(0,0,6353000)。

至于工具来执行转换,你应该把这些问题GIS栈江南电子竞技平台交流。然而,因为他们往往是傲慢的,当我问我的问题在过去会告诉你怎么做。我使用了pyprojpython包,这是一个python包装器CProj4包

Pyproj很直接,但你想要的转换可能不是那么容易算出。你想要的信息EPSG数字的转换。如果您使用的是普通wgs - 84基准,例如,直线是“epsg: 4978”而lat-lon epsg: 4326。

从python代码示例如下(3.5)交互式控制台。估计坐标变换的北极,我们想从直线到lat-lon。

进口pyproj > > > > > > rectProj = pyproj.Proj (init = epsg: 4978) > > > latlonProj = pyproj.Proj (init = epsg: 4326) > > > pyproj。变换(rectProj latlonProj 0 0 6353000) (0.0, 90.0, -3752.3142451792955)

我们在这里看到的是,当我们从直线变换lat-lon,我们得到0的经度,纬度,90年和-3752.3米的方位(或高度)。所以在北极,4公里。这个高度差是由于我估计的粗糙度和wgs - 84数据的细节。去其他从lat-lon格林威治天文台(51.478度,0度;方位或海拔0米)我们能做什么:

> > > pyproj。变换(latlonProj rectProj 0, 51.478, 0) (3980563.802812242, 0.0, 4966838.380583356)

我们看到,90度高度wgs - 84对应的零(x, y, z)三联体,米。因为格林威治位于y坐标轴在wgs - 84系统中,y coord是零。

希望这个有帮助。

\ endgroup美元
    3
    \ begingroup美元

    更好的首先是基于意见所以不能回答一个锥形的答案,但是,无论如何都要给它一个尝试。

    首先,它是完全依赖于应用程序。从你的建议开始的0,0基础坐标系。这是用于多种地图。也很少与现实联系在一起,因为它是一个三维的二维表示的问题。它工作,有点,但是对于更接近现实的较小的区域代表。“更好”潜力合理应用表面旅行速度和位置开车和走路。

    纬度/经度是在三维空间导航表示的三维情况。它变成了一个更好的解决方案导航当地球曲率和地球的运动成为一个问题。远程弹道、航空、海洋导航,等等。这些都不与一个平面的二维表示三维现实,他们需要球坐标,是纬度/经度进来了。球通常是测量角度,而不是长度。导航中有其他因素如地球的旋转,但是纬度/经度是为了有一个更好的系统,这些应用程序,它是更好的。它实际上并不是大多数人所认为最好的,但是它已经存在,认识和使用很长一段时间,所以通常由那些需要很好地理解它。它有缺点,就像单位(度,分和秒)大小也不一致。

    更真实的表现将是一个球面坐标系统,但这实际上会更好?这是一个真正的3 d表示位置,但对大多数人来说已经没有意义。对于大多数应用程序,需要知道他们的位置在任何时间距离和角度描述地球的中心。更好的和需要的方法如果说你正在构建一个回旋加速器加速粒子高百分比的光速,但不是我们大多数人会考虑的应用程序。

    \ endgroup美元
      3
      \ begingroup美元

      主体性的另一个答案是正确的“更好的”。They are also right, in that the answer you may get will depend on your application.

      我的答案是“是”和“不是”。

      是的:有从经度坐标转换的方法,但它依赖于预测。Python编程已经成为我最喜欢的工具,创造情节,尤其是地图。特别是技术模块。看到一些例子。仔细阅读的例子表明,它可以将经纬度坐标转换为X, Y坐标(米):x, y = m(经度,背阔肌)

      没有:这样的一个系统的缺陷是,地球不是平的;它是圆的。说你点(0,0)是您的工具条的角落和(R, 0)是你的右上角的角落。他们是相同的(或近的),但在地图上,他们是一个距离R。这就是为什么格陵兰和南极看起来如此之大在墨卡托投影。

      \ endgroup美元

        不是你要找的答案?浏览其他问题标记问你自己的问题