使用 Python + OpenStreetMaps 获取边界框内的高速公路

Using Python + OpenStreetMap's to Get Highways Within Bounding Box

我正在寻找使用 OpenStreetMap 从 python 脚本获取边界框内的道路(高速公路等),但我正在努力入门。

我在 Java 开始尝试使用他们提供的示例,我的代码如下所示:

...
String string = OPENSTREETMAP_API_06 + "map?bbox=" + left + "," + bottom + "," + right + "," + top;
    System.out.println("STRING: "+string);
    URL osm = new URL(string);
    HttpURLConnection connection = (HttpURLConnection) osm.openConnection();

    DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
    return docBuilder.parse(connection.getInputStream());
...

这个 returns 该边界框内的所有节点,但是其中 none 具有我正在寻找的标签,例如高速公路 for.I 现在正在寻找这样做在 Python 中,因为这是该项目的其余部分,Java 只是尝试使用更简单的 API。

我知道这没什么好继续的,但我希望这里有人能给我指出一个例子或其他东西来帮助我理解如何获得特定边界框中存在的路段(道路) .预先感谢您的帮助。

你得看看方法。尽管 nodes 对于他们没有您正在寻找的 highway tags 的方式来说是必不可少的。相反,这些标签附在方式上。

要更加熟悉 OSM 数据模型,请开始阅读有关 elements and OSM XML. It also helps a lot to start one of the top three OSM editors 的 OSM wiki,加载您感兴趣的区域并查看数据。