我需要与OpenStreetMap相关的帮助。我正在使用python (jupyter笔记本)来获取印度尼西亚巴厘岛地区医院的数据。下面是我的代码和查询:
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)
该查询在立交桥涡轮中运行良好,但当我输入笔记本时,它会返回错误。
发布于 2022-05-09 22:56:35
我找到了解决办法。看起来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可以解析它。
https://stackoverflow.com/questions/72166224
复制相似问题