如何在本地查询立交桥 API



我想在本地运行Overpass API,而无需在Raspberry pi zero w上访问互联网。

API安装的解决方案不适合,因为它至少需要1 GB RAMhttps://wiki.openstreetmap.org/wiki/Overpass_API/Installation

我如何在本地进行查询,这将只在一个城市进行。是否有任何解决方案可以从OSM文件或XML文件查询?

QL 用于我的目的:

node(around:300,35.7576,51.4100)[amenity];
(._;>;);
out body;

您不能使用标准安装过程,因为即使编译也很可能会生成稍后崩溃的代码。这同样适用于加载数据。

我整理了一份Raspberry PI 2的综合指南,您可以将其用作基线:https://wiki.openstreetmap.org/wiki/User:Mmd/Overpass_API/Raspberry

您应该使用官方指南中提到的源代码 http://dev.overpass-api.de/releases/osm-3s_v0.7.55.tar.gz。此外,请务必将配置选项更改为

./configure CXXFLAGS="-Og -g -fno-omit-frame-pointer -march=native"

否则,由于未对齐的内存访问(!

对于 update_database 命令,必须使用 --flush-size=1 来限制内存消耗,否则此过程将消耗过多内存并崩溃。

512MB确实是一个非常有限的内存量,在您的情况下可能仍然不够。

如果您打算只将一个城市导入数据库,那么您可能会获得少于 1 GB 的 RAM。试试吧。但是,预计查询会很慢。

针对 OSM XML 或 PBF 文件的查询将不起作用。这些原始数据需要首先得到处理。

最新更新