[英]error for area search in own overpass api server
我通过area参数时如何解决错误。 在服务器上安装了osm-3s_v0.7.53并能够发出请求。 但是,如果我尝试通过区域发出请求,那么我会收到以下错误
错误:运行时错误:open64:111连接被拒绝/home/osm-3s_v0.7.53/bin/db//osm3s_v0.7.53_areas Unix_Socket :: 7
示例查询
[timeout:25];
area[name="france"];
( node[name="starbucks"];
way[name="starbucks"];
rel[name="starbucks"];
);
out center;
但是如果我尝试
[timeout:25];
( node[name="starbucks"];
way[name="starbucks"];
rel[name="starbucks"];
);
out center;
它获取默认区域的有效xml
请帮忙..
您对区域语法的使用不太正确,并且France和Starbucks的拼写不适合OpenStreetMap中的数据。 查询应如下所示:
[timeout:600];
area[name="France"]["ISO3166-1"="FR"]->.france;
( node(area.france)[name~"Starbucks"];
way(area.france)[name~"Starbucks"];
rel(area.france)[name~"Starbucks"];
);
out center;
此外,还必须启动另一个dispatcher
自己的服务器领域上的过程,以及触发创建区域的专用工艺。 请在Overpass API安装文档中仔细阅读,其中介绍了您需要执行的每个步骤。
我的建议是先熟悉一个公共实例的语法,然后才开始在自己的实例上追踪问题。
解决了问题。 对于are查询工作正常
dispatcher --areas
在运行命令启动此调度程序后仍未启动并运行。 那是由于套接字错误。 我通过以下链接解决了该错误: Overpass API调度程序失败,地址已在使用中98
注意:在执行上述步骤之前
osm-3s_v0.7.53/bin/dispatcher --terminate
请记住,如果使用nohup运行调度程序,请尝试添加
& tail -f nohup.out
这样有助于查看是否有错误。 主要是2个调度程序--osm-base和--area应该始终运行,以有效地响应安装在您自己服务器中的Overpass API。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.