簡體   English   中英

在 jupyter notebook 中轉換 OpenStreetMap 查詢時出現 JSONDecodeError

[英]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.

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