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

如何在Overpass Turbo中查询存在任意值的指定标签的OSM要素?

你用idescat:comarca='.'查询无结果,是因为Overpass QL里等号代表精确匹配,这条语句只会返回标签值恰好是单个点的要素,自然不符合你的需求。
如果要匹配所有只要带idescat:comarca标签、不限制标签具体值的要素,直接在查询条件里写标签名即可,不需要加等号和值。如果你想用正则匹配任意非空值,需要把等号换成波浪号~,写成idescat:comarca~'.'才能生效。

优化后的完整查询

考虑到加泰罗尼亚的县级行政区都是OSM的relation类型,你可以直接过滤relation减少冗余数据,查询写法如下:

[out:json][timeout:25];
(
  // 匹配所有带idescat:comarca标签的7级行政区
  relation["idescat:comarca"]["admin_level"="7"]({{bbox}});
);
out body;
>;
out skel qt;

如果需要覆盖范围不局限于当前视口的bbox,也可以限定在加泰罗尼亚行政区范围内查询,避免返回西班牙其他地区同级别行政区:

[out:json][timeout:25];
// 先定位加泰罗尼亚的行政区relation
relation["name"="加泰罗尼亚"]["admin_level"="6"]->.catalonia;
// 在加泰罗尼亚范围内查所有comarques
(
  relation["idescat:comarca"]["admin_level"="7"](area.catalonia);
);
out body;
>;
out skel qt;

内容的提问来源于stack exchange,提问作者G. Macia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:36:08