Mise à jour sélective sur Nominatim
par spin0us le 6 juin 2013Pour celles et ceux qui auraient installé leur propre serveur Nominatim, vous n'avez peut-être pas importer la totale. Le fichier planet-latest.osm.bz2 tapant dans les 28G (à l'heure actuelle), l'importation prend des plombes.
Il suffit donc de choisir les pays ou régions que vous souhaitez importer sur geofabrik.de puis d'utiliser ce script de mise à jour filtrant les éléments que vous aurez choisis.
Script de mise à jour journalière
#!/bin/bash ### Country list COUNTRIES="europe/isle-of-man europe/kosovo" NOMINATIM="/var/Nominatim" ### Foreach country check if configuration exists (if not create one) and then import the diff for COUNTRY in $COUNTRIES; do DIR="$NOMINATIM/updates/$COUNTRY" FILE="$DIR/configuration.txt" if [ ! -f ${FILE} ]; then /bin/mkdir -p ${DIR} /usr/bin/osmosis --rrii workingDirectory=${DIR}/. /bin/echo baseUrl=http://download.geofabrik.de/${COUNTRY}-updates > ${FILE} /bin/echo maxInterval = 0 >> ${FILE} cd ${DIR} /usr/bin/wget http://download.geofabrik.de/${COUNTRY}-updates/state.txt fi FILENAME=${COUNTRY//[\/]/_} /usr/bin/osmosis --rri workingDirectory=${DIR}/. --wxc ${FILENAME}.osc.gz done INDEX=0 # false ### Foreach diff files do the import cd ${NOMINATIM}/updates for OSC in *.osc.gz; do ${NOMINATIM}/utils/update.php --import-diff ${NOMINATIM}/updates/${OSC} --no-npi INDEX=1 done ### Re-index if needed if ((${INDEX})); then ${NOMINATIM}/utils/update.php --index fi ### Remove all diff files rm -f ${NOMINATIM}/updates/*.osc.gz
Il vous suffit donc de spécifier les éléments que vous avez importés au
début dans la variable COUNTRIES
(ici europe/isle-of-man
europe/kosovo) et le chemin d'accès au répertoire d'installation de Nominatim
dans NOMINATIM
.