如何通过编程获取美国州际公路出口的纬度和经度?

4
有没有使用开源地图/API(Google Map API、Microsoft Live Map API)的方法来实现这一点?
或者有没有从地图文件中遍历道路和交叉口的方法?(如果我购买商业地图数据)
谢谢。
编辑:可以是开源或API。
1个回答

2

基于OpenStreetMap的可能解决方案,取决于美国的OSM数据质量。

如此描述:“出口匝道/滑行道应被标记为highway=motorway_link或highway=primary_link”如果使用osm2pgsql导入美国地图数据,您可以选择所有高速公路连接。

例如(基于我自己的数据进行选择,即非常外部的数据)

openmapdb=# select osm_id, name, ref from planet_osm_roads where highway='motorway_link';
  osm_id  | name | ref 
----------+------+-----
 23683997 |      | 
 26436348 |      | 
 [..]

2368399726436348 是OSM id - 如果您点击链接,您会看到它们确实是入口/出口匝道。

一旦您确定了一条路,您可以访问其纬度和经度:

openmapdb=# select astext(st_transform(way, 4326)) from planet_osm_roads where osm_id = '23683997';                                                                                                                                             
    LINESTRING(24.8757131412186 44.8730730514894,[..]
(1 row)

谢谢。这确实有所帮助。 - 47d_
嘿,我在考虑开始一个需要这个解决方案的项目。47d_,它最终对你有用吗? - eastydude5

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