mediagis / nominatim-docker

100% working container for Nominatim
Creative Commons Zero v1.0 Universal
1.11k stars 444 forks source link

The configuration of "nominatim import" can not transfer to osm2pgsql.osm2pgsql execut slow. #532

Closed StSahana closed 8 months ago

StSahana commented 8 months ago

I runing the container with

docker run -it \
-e PBF_PATH=/data/china.osm.pbf \
-e NOMINATIM_PASSWORD=qaIACxO6wMR3 \
-e PROJECT_DIR=/nominatim \
-e USER_AGENT=mediagis/nominatim-docker:4.3.2 \
-e REVERSE_ONLY=true \
-e IMPORT_STYLE=address \
-e THREADS=30 \
-e shm-size=32G \
-e POSTGRES_SHARED_BUFFERS=4GB \
-v nominatim-flatnode-china:/nominatim/flatnode \
-v nominatim-data-china:/var/lib/postgresql/14/main \
-v /root/upload/china.osm.pbf:/data/china.osm.pbf \
--name=nomi_china \
--workdir=/app -p 5434:5432 -p 8084:8080 --runtime=runc -d mediagis/nominatim:4.3-2024-02-21T17-21

In conatainer,it shows

python3 /usr/local/bin/nominatim import --osm-file /data/china.osm.pbf --threads 30 --reverse-only
/usr/local/lib/nominatim/osm2pgsql --hstore --latlon --slim --log-progress true --number-processes 1 --cache 0 --style /usr/local/etc/nominatim/import-address.lua --output flex --create --flat-nodes /nominatim/flatnode/flatnode.file /data/china.osm.pbf

Why can't the THREADS parameter be passed to osm2pgsql? Thx

mtmail commented 8 months ago

osm2pgsql software is single-threaded. It connects node to ways and ways to relations. That logic can't run in parallel.

StSahana commented 8 months ago

Get it.Thank you!