[英]JSONDecodeError when convert OpenStreetMap query in jupyter notebook
我需要與 OpenStreetMap 相關的幫助。 我正在使用 python(jupyter notebook)來獲取印度尼西亞巴厘島地區醫院的數據。 這是我的代碼和查詢:
import pandas as pd
import requests
import json
overpass_api = "http://overpass-api.de/api/interpreter"
query_hospital = """
[out:json];
{{geocodeArea:'Provinsi Bali'}}->.searchArea;
node[amenity='hospital'](area.searchArea);
out;
"""
response_hospital = requests.get(overpass_api, params={'data':query_hospital})
但是當我運行下一個代碼時,
data_hospital = response_hospital.json()
它返回錯誤JSONDecodeError: Expecting value: line 1 column 1 (char 0)
該查詢在Overpass Turbo中運行良好,但當我放入筆記本時,它返回錯誤。
我找到了解決方案。 看起來 python 無法解析 openstreetmap 查詢中的雙花括號 {{ }}。 所以我將查詢修改成這樣
query_hospital = """
[out:json];
area[name=Bali];
node[amenity='hospital'](area);
out;
"""
或者如果我們使用當地語言的地區名稱
query_hospital = """
[out:json];
area['name:id'='Provinsi Bali'];
node[amenity='hospital'](area);
out;
"""
查詢返回相同的結果,現在 python 可以解析它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.