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