You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Overpass API中指定国家城市对应的Area ID?

Overpass API 区域查询问题解决

关于{{geocodeArea}}报错的原因

{{geocodeArea:armenia.yerevan}}是overpass-turbo专属的预处理语法,它会在后台调用Nominatim把地名转成Area ID后再发请求给Overpass API。但Overpass API本身不识别这种带双大括号的语法,所以直接在Flutter或Postman里调用就会触发解析错误。

获取Yerevan Area ID的正确查询语句

用Overpass原生语法精准匹配城市属性,下面的查询可以直接拿到目标城市的Area ID:

[out:json][timeout:25];
// 定位亚美尼亚国家区域
area["ISO3166-1:alpha2"="AM"]["admin_level"="2"]->.country;
// 在国家范围内筛选Yerevan城市区域(admin_level=6对应城市级)
area["name"="Yerevan"](area.country)["admin_level"="6"];
// 输出区域ID和标签信息
out ids tags;

如果担心名称有本地化差异,也可以加上英文名称匹配,避免遗漏:

[out:json][timeout:25];
area["ISO3166-1:alpha2"="AM"]["admin_level"="2"]->.country;
area["name"="Yerevan"]["name:en"="Yerevan"](area.country)["admin_level"="6"];
out ids tags;

执行后就能得到Yerevan对应的Area ID(比如你之前使用的3600364087),之后直接用area(id:3600364087)就能正常限定查询区域。

临时替代方案:坐标范围查询

如果暂时获取不到Area ID,也可以用Yerevan的大致经纬度范围来替代区域筛选:

[out:json][timeout:25];
node["amenity"="pub"](40.17,44.47,40.23,44.53);
out;

内容的提问来源于stack exchange,提问作者Cyrus the Great

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:12:59