我有一个由交叉点定义的范围,距离交叉点有几英尺。 (例如华盛顿街以北100英尺,华盛顿街和华盛顿大街以南300英尺至300英尺)
我希望将其划分为纬度/长对。但是,我无法看到任何方法让Google Maps API或Virtual Earth等执行此操作。他们会愉快地对交叉点进行地理编码,但距离不远。我不能只增加100英尺,因为道路不一定完全笔直或完全在主要方向。
我调查了获取描述道路的折线,但是从Google / VEarth获得这条道路并没有太多运气。我查看了美国人口普查中的TIGER / LINE,但他们的数据非常不准确。
有人可以就如何对此进行地理编码提出建议吗?这是针对公共地图的,因此来自Google,Microsoft等的任何免费API都应该没问题。
顺便说一下,我正在寻找一个实际的街道地址而不是坐标。我想知道我上面给出的例子中的范围是华盛顿街508到563。
答案 0 :(得分:3)
深思熟虑 - 我不知道您的应用是什么,但请记住典型GPS设备的精确度为10米(约33英尺)。您是否有可能尝试使其更加精确?
可能的解决方案
你能加上100英尺并将该点垂直于道路投射吗?足够接近?
抓住十字路口。遍历第一段。如果其长度< 100英尺,抓住第二段,依此类推,直到距离路口100英尺远。您需要添加相应的检查/进行一些数学运算,以确定实际100'标记落在某个区段的位置。
我在夏天使用了第二种方法,看看我是否能找到一些示例代码。但是没有承诺。
#3 - 抓住十字路口。获取第一个分段的方位并使用坐标几何来计算给定角度沿街道100英尺的点。这假设街道没有任何偏差,否则使用#2。
答案 1 :(得分:2)
我最终采取了不同的方法 - 而不是对数字进行地理编码,而是在街道上使用百分比。因此,我可以计算出街道的长度,然后确定地理编码坐标的街道距离。