在Overpass Turbo编写双条件查询:复刻视频操作遇问题求助
解决Overpass Turbo查询失败及OSM数据缺失问题
一、修正查询脚本逻辑
你的原脚本存在两个关键问题:一是未将Wendy's的查询结果作为CVS查询的地理参考,二是OSM中Wendy's得来速的标签通常不是name="Wendy's Drive-Thru",而是用name="Wendy's"加drive_through="yes"标记。以下是修正后的查询脚本:
/* 查找佐治亚州温德尔地区Wendy's得来速周边1000米内的CVS药店 */ [out:json][timeout:25]; // 限定查询区域为佐治亚州温德尔 area["name"="Wendell"]["state"="Georgia"]["country"="United States"]->.searchArea; // 查找区域内的Wendy's得来速节点 node["name"="Wendy's"]["drive_through"="yes"](area.searchArea); // 存储Wendy's节点作为后续查询的参考 out body; >; out skel qt; // 查找Wendy's周边1000米内的CVS药店 node["name"="CVS Pharmacy"](around:1000); out body; >; out skel qt;
二、处理目标区域数据缺失问题
如果修正脚本后仍无结果,说明该区域的门店确实未在OSM中映射,可通过以下步骤补充数据:
- 打开OpenStreetMap的iD编辑器,定位到佐治亚州温德尔区域
- 借助卫星图找到实际门店的地理位置
- 为Wendy's添加节点,设置标签:
amenity=fast_food、name=Wendy's、drive_through=yes - 为CVS添加节点,设置标签:
amenity=pharmacy、name=CVS Pharmacy - 提交变更时填写清晰的说明(如"添加温德尔地区的Wendy's得来速与CVS药店")
- 等待OSM数据同步(通常1-2小时),再用Overpass Turbo重新查询
内容的提问来源于stack exchange,提问作者Soufiane
相关产品推荐
相关产品推荐

