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

如何使用Overpass API获取航标?XAPI转Overpass API请求无返回结果问题求助

Fixing Your Overpass API Request for Seamarks

我来帮你排查这个问题~你的Overpass API请求没返回结果的核心原因是标签过滤的语法错误,咱们一步步来修正:

1. Correct the Tag Filter Syntax

你原来的写法 node["seamark:type=harbour"] 不符合Overpass的语法规范。在Overpass中,标签的键和值需要分开用引号包裹,中间用等号连接,正确的格式应该是:node["seamark:type"="harbour"]

2. Simplify the Request Structure

原请求里的 >; out skel qt; 是用来递归下载节点关联的Way或Relation元素,但如果你只需要标记为seamark:type=harbour的节点,这部分可以去掉,避免冗余请求。

Working Request for Nodes Only

[out:json][timeout:25];
node["seamark:type"="harbour"](4.04297,51.63984,5.09216,51.87106);
out body;

Extended Request (Include Ways & Relations)

如果有些海港是用Way或Relation标记的(而非单一节点),可以扩展请求覆盖这些类型:

[out:json][timeout:25];
(
  node["seamark:type"="harbour"](4.04297,51.63984,5.09216,51.87106);
  way["seamark:type"="harbour"](4.04297,51.63984,5.09216,51.87106);
  relation["seamark:type"="harbour"](4.04297,51.63984,5.09216,51.87106);
);
out body;
>;
out skel qt;

Why No Error Message?

Overpass API的一个特点是,对于这类语法错误不会返回明确的异常提示,只会返回空的结果集,这也是容易让人困惑的地方。修正语法后,你应该就能获取到目标区域内的海港航标数据了。

内容的提问来源于stack exchange,提问作者Fiphe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 10:07:43