【问题标题】:How to load multiple osm files into Nominatim如何将多个 osm 文件加载到 Nominatim
【发布时间】:2014-04-09 11:06:34
【问题描述】:

我需要弄清楚将多个 OSM 文件加载到 Nominatim 数据库的过程。我已经完成了所有设置,可以毫无问题地加载单个文件。

基本上,我要做的只是为世界的一部分加载一些 GeoFabrik OSM 文件。所以我正在抓取北美和南美的 OSM 文件。或他们网站上的任何 2 个。

对于第一次加载,我使用setup.php

./utils/setup.php --osm-file file.osm --all --osm2pgsql-cache 4000

我不确定我是否有另一个文件 (file2.osm) 如何将其加载到数据库中并保留原始数据。

基本上,我只想要世界的一部分,我只需要每六个月左右加载一次数据。我不需要每日更新/等等...

我需要拆分文件,因为加载时间太长,我想更好地管理它。

我可以使用update.php.....但是不确定是什么参数。

我考虑过使用更新和无索引子句加载所有数据...然后可能构建索引??

我确实尝试为第二个文件重新运行setup.php,但它只是挂了很长时间 对于第二个文件

./utils/setup.php --import-data --osm-file file2.osm --osm2pgsql-cache 4000

但这只是挂在Setting up table: planet_osm_ways上。 (我测试了应该在几分钟内完成的非常小的 OSM 文件,但它只是挂起)。

我使用的文件都是不相交的,所以没有真正更新。所以我有一个北美和一个南美......我如何将两者分别加载到 Nominatim 中。

谢谢

【问题讨论】:

    标签: openstreetmap nominatim osmosis


    【解决方案1】:

    可以在help.openstreetmap.org找到答案。

    首先您需要通过更新脚本将其导入:./utils/update.php --import-file <yourfile>。然后你需要触发数据的重新索引:./utils/update.php --index

    但根据lonvia(Nominatim 开发人员之一)的说法,这会非常慢,最好先合并所有文件,然后将其作为一个大文件导入。

    【讨论】:

      【解决方案2】:

      示例合并代码,合并安道尔、马耳他和列支敦士登,

      curl -L 'http://download.geofabrik.de/europe/andorra-latest.osm.pbf' --create-dirs -o /srv/nominatim/src/andorra.osm.pbf
      curl -L 'http://download.geofabrik.de/europe/malta-latest.osm.pbf' --create-dirs -o /srv/nominatim/src/malta.osm.pbf
      curl -L 'http://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf' --create-dirs -o /srv/nominatim/src/liechtenstein.osm.pbf
      
      osmconvert /srv/nominatim/src/andorra.osm.pbf -o=/srv/nominatim/src/andorra.o5m
      osmconvert /srv/nominatim/src/malta.osm.pbf -o=/srv/nominatim/src/malta.o5m
      osmconvert /srv/nominatim/src/liechtenstein.osm.pbf -o=/srv/nominatim/src/liechtenstein.o5m
      
      osmconvert /srv/nominatim/src/andorra.o5m /srv/nominatim/src/malta.o5m /srv/nominatim/src/liechtenstein.o5m -o=/srv/nominatim/src/data.o5m
      
      osmconvert /srv/nominatim/src/data.o5m -o=/srv/nominatim/src/data.osm.pbf;
      

      更多关于 OsmConvert -> https://wiki.openstreetmap.org/wiki/Osmconvert

      一旦合并,就可以了,

      sudo -u nominatim /srv/Nominatim/build/utils/setup.php \
            --osm-file /srv/nominatim/src/data.osm.pbf \
            --all \
            --threads ${BUILD_THREADS} \ # 16 Threads?
            --osm2pgsql-cache ${OSM2PGSQL_CACHE}  # 24000 ?
      

      【讨论】:

        猜你喜欢
        • 2022-01-14
        • 2016-02-29
        • 2021-09-07
        • 2021-03-08
        • 1970-01-01
        • 2011-11-06
        • 1970-01-01
        • 2017-06-30
        • 1970-01-01
        相关资源
        最近更新 更多