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

时间:2015-10-22 00:36:35

标签: python api openstreetmap

我希望使用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());
...

这将返回该边界框内的所有节点,但它们都没有我正在寻找的高速公路等标签。我现在希望在Python中执行此操作,因为这是该项目的其余部分所在Java只是尝试使用更简单的API。

我知道继续下去并不多,但我希望这里有人可以指出一个例子或某些东西来帮助我理解如何获得特定边界框中存在的路段(方式)。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您必须查看方式。虽然节点对于他们不具备您正在寻找的highway tags的方式至关重要。相反,这些标签会附加到各种方式。

要更熟悉OSM数据模型,请在OSM wiki中开始阅读elementsOSM XML。它还有助于启动top three OSM editors之一,加载您感兴趣的区域并查看数据。