获取道路上一个点的坐标

10
我有一个由交叉点和距离交叉点若干英尺定义的区域。(例如,从Washington St. & 5th St.北100英尺到Washington St. & 6th St.南300英尺)
我想将其地理编码为纬度/经度对。然而,我看不到任何方法可以使用Google Maps API或Virtual Earth等来实现这一点。它们会愉快地对交叉点进行地理编码,但不会计算距离。我不能简单地加上100英尺,因为道路并不一定完全直线或正好朝一个方向。
我曾尝试获取描述道路的折线,但从Google/VEarth中也没有太多成功。我查看过美国人口普查的TIGER/LINE,但他们的数据非常不准确。
有人能提供如何进行地理编码的建议吗?这是针对公共地图的,因此来自Google、Microsoft等的免费API都可以。
顺便说一下,最终我要找的是实际的街道地址,而不是坐标。我想知道我给出的范围,例如,在华盛顿街508至563号。
2个回答

3

思考之余,我不知道你的应用程序是什么,但请记住,典型GPS设备的准确度为10米(约33英尺)。可能你想使这个更精确,超过了必要的程度吗?

可能的解决方案:

  1. 您能不能只添加100英尺并将该点垂直于路面?足够接近了吗?

  2. 获取交叉口。遍历第一个段。如果其长度 < 100英尺,则获取第二个段,以此类推,直到您离交叉口沿路测量的距离为100英尺为止。您需要添加适当的检查/进行一些数学运算,以确定实际的100英尺标记在段的哪个位置。

我在夏季使用了第二种方法,并会看看是否可以找到一些示例代码。但不保证。

#3-获取交叉口。获取第一段的方位并使用坐标几何来计算街道上给定角度处的100英尺点。这假设街道没有任何偏转,否则请使用#2。


我需要完全的准确性--这不是为了GPS应用程序,而是为了读取市政停车规则(这些规则由交叉路口和距离描述),并将它们与用户提供的街道地址相关联。 - David Pfeffer
2
警告 - 在这种情况下,您可能会遇到获取足够准确的底图的问题。我使用了Google和VE,当距离与实际测量数据进行比较时(距离+/- 0.01英尺),距离偏差达到100英尺,甚至更多。我的地址在Google上大约比它应该在的位置向西5个地块。实际上在一个交叉街口的错误一侧(T字形交叉口)。这只是需要考虑的一些事情。 - DenaliHardtail

2

我最终采用了一种不同的方法——而不是将地理编码到房屋编号,我使用街道上的百分比。因此,我可以计算街道的长度,然后确定地理编码坐标在街道上的距离。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接