当我通过区域参数时如何解决错误。 在服务器中安装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
请帮助..
答案 0 :(得分:2)
您对区域语法的使用不太正确,法国和星巴克的拼写也不适合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安装文档中阅读,它描述了您需要遵循的每个步骤。
我的建议是首先熟悉其中一个公共实例的语法,然后才开始在自己的实例上追逐问题。
答案 1 :(得分:0)
解决了这个问题。对于是查询工作正常
dispatcher --areas
即使在运行命令启动此调度程序后,仍未启动并运行。这是由于套接字错误。我按照此链接Overpass API dispatcher fails with Address already in use 98
解决了该错误注意:在执行上述步骤之前
osm-3s_v0.7.53/bin/dispatcher --terminate
有人认为,如果您使用nohup运行调度程序,请记住添加
& tail -f nohup.out
这样有助于查看是否有错误。 主要是2调度程序--osm-base AND --area应始终运行,以便从您自己的服务器中安装的立交桥API进行有效响应。