繁体   English   中英

自己的立交api服务器中的区域搜索错误

[英]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.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM