2013-07-15 244 views
0

我有一个地址/ GPS坐标列表,我需要转换成一个坐标系,这样点之间的距离不等于空中距离,但是行程距离(在点之间)。转换地图坐标到坐标系

所以我需要得到所有地址之间的旅行时间(例如通过谷歌地图API),然后用这个数据创建一个坐标系统。

所以我的第一个问题是:如果我有50个地址,或者这需要很长时间,是否可以在所有地址之间获得旅行时间?我的意思是它不需要通过谷歌地图API,我也可以通过离线地图数据来完成。

第二个问题:如何创建这样一个坐标系?有这种问题的名称,所以我可以谷歌吗?我只是不知道要搜索什么...

+0

我不明白一件事。问题第一句中所述的坐标系是什么? GPS坐标确实已经是一个坐标系。 – kukis

+0

对不起,这很难解释。 GPS坐标之间的距离是空中距离,对不对?但我想转换坐标,以便它们之间的距离不是航线,而是旅行时间。 例如纽约与华盛顿之间的GPS坐标距离将是213(英里),但我想转换坐标,以便距离为223(分钟)。希望这现在变得更清楚。 – DominicM

+0

现在很清楚。如果你有50个城市(点),你想计算它们之间的距离,那么它基本上是1225个调用虚函数getDistanceInMinutes(点a,点b)。这不是IMO。 不幸的是,我从第二个问题中看不到问题。 – kukis

回答

0

如果我正确理解问题,则有N个地理位置的时间距离已知。目的是绘制一幅二维地图,纸张上的距离将代表行进距离。

这是一个有趣的方法,因为这是我们通常如何感知距离,这样做的地图比平淡的地图更直观。

不幸的是,这个任务在一般情况下是无法解决的。为了证明这一点,我将用四点显示一个无法解决的情况。

  • 有两个相邻城市甲乙
  • 这些城市之间有三个郊区C和d
  • 只有四个道路,其为城市和郊区部分之间(AC,AD,BC ,BD)
  • 每个道路是等长的,与行驶需要15分钟

所以,从城市A到城市B中的旅行需要30分钟(通过C或经由d)。从任何一个城市到任一城市的旅行需要15分钟,C和D区之间的旅行需要30分钟(通过A或B)。

现在,由于所有道路需要相等的时间,所以点A,C,B和D必须形成等长(15分钟)的平行四边形。对角线AB和CD都应该有双倍长度,因为这些距离是每个30分钟。这是不可能的,因为如果对角线长度相等,长度是sqrt(2)x 15分钟,我们有一个正方形。