簡體   English   中英

從OpenStreetMap Overpass API輸出中提取ID(字典中的Python列表)

[英]Extract ids from OpenStreetMap Overpass API output (python list in dictionary)

我正在用Python查詢OpenStreetMaps的Overpass Turbo API( Link

import requests
import json

lat='51.404924'
lon='12.444895'

overpass_url = "http://overpass-api.de/api/interpreter"
overpass_query = "[out:json][timeout:600];(way(around:700,"+lat+","+lon+")[landuse=industrial];);out geom;"

response = requests.get(overpass_url, 
                        params={'data': overpass_query})

data = response.json()
for key in data:
      print("dict has", key)

elements=data["elements"]
print(type(elements))

並獲得此結果(縮短):

{
  "version": 0.6,
  "generator": "Overpass API 0.7.55 579b1eec",
  "elements": [
    {
      "type": "way",
      "id": 12805981,
      "geometry": [
        {
          "lat": 51.410593,
          "lon": 12.4327856
        },
      ],
      "tags": {
        "addr:housenumber": "1",
        "addr:street": "BMW-Allee",
        "landuse": "industrial",
        "name": "BMW Werk 07.10 Leipzig",
      }
    }
  ]
}

如何獲得名稱ID 我以為,字典不能包含list ,但在這里確實如此。 因此我的最初想法

print(data["elements"]["tags"]["name"])

不起作用。

謝謝您的幫助(這是我的第一個問題;)

print(data["elements"][0]["tags"]["name"])
print(data['elements'][0]['id'])

索引到elements數組中。

詞典不能包含鍵列表,但可以包含值列表。

您可以將元組用作字典中的鍵。 基本上,任何不變的東西都可以成為字典中的關鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2025 STACKOOM.COM