簡體   English   中英

如何在本地查詢 Overpass API?

[英]How to query Overpass API locally?

我想在本地運行 Overpass API,而無需在 Raspberry pi zero w 上訪問互聯網。

API 安裝的解決方案不合適,因為它需要至少 1 GB 的 RAM https://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 文件的查詢將不起作用。 需要首先處理這些原始數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2025 STACKOOM.COM