forked from hans/Nominatim
port multi-region update scripts to nominatim tool
Also updates the documentation. For the simple case of just importing multiple regions, provide simplified instructions that use the new multi-file import feature. Fixes #2365.
This commit is contained in:
@@ -8,8 +8,6 @@
|
||||
|
||||
# *) Set up sequence.state for updates
|
||||
|
||||
# *) Merge the pbf files into a single file.
|
||||
|
||||
# *) Setup nominatim db using 'setup.php --osm-file'
|
||||
|
||||
# Hint:
|
||||
@@ -28,16 +26,6 @@ touch2() { mkdir -p "$(dirname "$1")" && touch "$1" ; }
|
||||
|
||||
COUNTRIES="europe/monaco europe/andorra"
|
||||
|
||||
# SET TO YOUR NOMINATIM build FOLDER PATH:
|
||||
|
||||
NOMINATIMBUILD="/srv/nominatim/build"
|
||||
SETUPFILE="$NOMINATIMBUILD/utils/setup.php"
|
||||
UPDATEFILE="$NOMINATIMBUILD/utils/update.php"
|
||||
|
||||
# SET TO YOUR update FOLDER PATH:
|
||||
|
||||
UPDATEDIR="/srv/nominatim/update"
|
||||
|
||||
# SET TO YOUR replication server URL:
|
||||
|
||||
BASEURL="https://download.geofabrik.de"
|
||||
@@ -46,27 +34,24 @@ DOWNCOUNTRYPOSTFIX="-latest.osm.pbf"
|
||||
# End of configuration section
|
||||
# ******************************************************************************
|
||||
|
||||
COMBINEFILES="osmium merge"
|
||||
UPDATEDIR=update
|
||||
IMPORT_CMD="nominatim import"
|
||||
|
||||
mkdir -p ${UPDATEDIR}
|
||||
cd ${UPDATEDIR}
|
||||
pushd ${UPDATEDIR}
|
||||
rm -rf tmp
|
||||
mkdir -p tmp
|
||||
cd tmp
|
||||
popd
|
||||
|
||||
for COUNTRY in $COUNTRIES;
|
||||
do
|
||||
|
||||
echo "===================================================================="
|
||||
echo "$COUNTRY"
|
||||
echo "===================================================================="
|
||||
DIR="$UPDATEDIR/$COUNTRY"
|
||||
FILE="$DIR/configuration.txt"
|
||||
DOWNURL="$BASEURL/$COUNTRY$DOWNCOUNTRYPOSTFIX"
|
||||
IMPORTFILE=$COUNTRY$DOWNCOUNTRYPOSTFIX
|
||||
IMPORTFILEPATH=${UPDATEDIR}/tmp/${IMPORTFILE}
|
||||
FILENAME=${COUNTRY//[\/]/_}
|
||||
|
||||
|
||||
touch2 $IMPORTFILEPATH
|
||||
wget ${DOWNURL} -O $IMPORTFILEPATH
|
||||
@@ -74,18 +59,12 @@ do
|
||||
touch2 ${DIR}/sequence.state
|
||||
pyosmium-get-changes -O $IMPORTFILEPATH -f ${DIR}/sequence.state -v
|
||||
|
||||
COMBINEFILES="${COMBINEFILES} ${IMPORTFILEPATH}"
|
||||
IMPORT_CMD="${IMPORT_CMD} --osm-file ${IMPORTFILEPATH}"
|
||||
echo $IMPORTFILE
|
||||
echo "===================================================================="
|
||||
done
|
||||
|
||||
|
||||
echo "${COMBINEFILES} -o combined.osm.pbf"
|
||||
${COMBINEFILES} -o combined.osm.pbf
|
||||
|
||||
echo "===================================================================="
|
||||
echo "Setting up nominatim db"
|
||||
${SETUPFILE} --osm-file ${UPDATEDIR}/tmp/combined.osm.pbf --all 2>&1
|
||||
|
||||
# ${UPDATEFILE} --import-file ${UPDATEDIR}/tmp/combined.osm.pbf 2>&1
|
||||
echo "===================================================================="
|
||||
${IMPORT_CMD} 2>&1
|
||||
echo "===================================================================="
|
||||
|
||||
@@ -22,25 +22,14 @@
|
||||
|
||||
# REPLACE WITH LIST OF YOUR "COUNTRIES":
|
||||
#
|
||||
|
||||
|
||||
COUNTRIES="europe/monaco europe/andorra"
|
||||
|
||||
# SET TO YOUR NOMINATIM build FOLDER PATH:
|
||||
#
|
||||
NOMINATIMBUILD="/srv/nominatim/build"
|
||||
UPDATEFILE="$NOMINATIMBUILD/utils/update.php"
|
||||
|
||||
# SET TO YOUR update data FOLDER PATH:
|
||||
#
|
||||
UPDATEDIR="/srv/nominatim/update"
|
||||
|
||||
UPDATEBASEURL="https://download.geofabrik.de"
|
||||
UPDATECOUNTRYPOSTFIX="-updates"
|
||||
|
||||
# If you do not use Photon, let Nominatim handle (re-)indexing:
|
||||
#
|
||||
FOLLOWUP="$UPDATEFILE --index"
|
||||
FOLLOWUP="nominatim index"
|
||||
#
|
||||
# If you use Photon, update Photon and let it handle the index
|
||||
# (Photon server must be running and must have been started with "-database",
|
||||
@@ -49,11 +38,10 @@ FOLLOWUP="$UPDATEFILE --index"
|
||||
#FOLLOWUP="curl http://localhost:2322/nominatim-update"
|
||||
|
||||
# ******************************************************************************
|
||||
|
||||
UPDATEDIR="update"
|
||||
|
||||
for COUNTRY in $COUNTRIES;
|
||||
do
|
||||
|
||||
echo "===================================================================="
|
||||
echo "$COUNTRY"
|
||||
echo "===================================================================="
|
||||
@@ -61,20 +49,16 @@ do
|
||||
FILE="$DIR/sequence.state"
|
||||
BASEURL="$UPDATEBASEURL/$COUNTRY$UPDATECOUNTRYPOSTFIX"
|
||||
FILENAME=${COUNTRY//[\/]/_}
|
||||
|
||||
# mkdir -p ${DIR}
|
||||
cd ${DIR}
|
||||
|
||||
echo "Attempting to get changes"
|
||||
rm -f ${DIR}/${FILENAME}.osc.gz
|
||||
pyosmium-get-changes -o ${DIR}/${FILENAME}.osc.gz -f ${FILE} --server $BASEURL -v
|
||||
|
||||
echo "Attempting to import diffs"
|
||||
${NOMINATIMBUILD}/utils/update.php --import-diff ${DIR}/${FILENAME}.osc.gz
|
||||
rm ${DIR}/${FILENAME}.osc.gz
|
||||
|
||||
nominatim add-data --diff ${DIR}/${FILENAME}.osc.gz
|
||||
done
|
||||
|
||||
echo "===================================================================="
|
||||
echo "Reindexing"
|
||||
${FOLLOWUP}
|
||||
echo "===================================================================="
|
||||
echo "===================================================================="
|
||||
|
||||
Reference in New Issue
Block a user