]> git.openstreetmap.org Git - nominatim.git/blob - utils/import_multiple_regions.sh
add documentation for new refresh command
[nominatim.git] / utils / import_multiple_regions.sh
1 #!/bin/bash -xv
2
3 # Script to set up Nominatim database for multiple countries
4
5 # Steps to follow:
6
7 #     *) Get the pbf files from server
8
9 #     *) Set up sequence.state for updates
10
11 #     *) Setup nominatim db using 'setup.php --osm-file'
12
13 # Hint:
14 #
15 # Use "bashdb ./update_database.sh" and bashdb's "next" command for step-by-step
16 # execution.
17
18 # ******************************************************************************
19
20 touch2() { mkdir -p "$(dirname "$1")" && touch "$1" ; }
21
22 # ******************************************************************************
23 # Configuration section: Variables in this section should be set according to your requirements
24
25 # REPLACE WITH LIST OF YOUR "COUNTRIES":
26
27 COUNTRIES="europe/monaco europe/andorra"
28
29 # SET TO YOUR replication server URL:
30
31 BASEURL="https://download.geofabrik.de"
32 DOWNCOUNTRYPOSTFIX="-latest.osm.pbf"
33
34 # End of configuration section
35 # ******************************************************************************
36
37 UPDATEDIR=update
38 IMPORT_CMD="nominatim import"
39
40 mkdir -p ${UPDATEDIR}
41 pushd ${UPDATEDIR}
42 rm -rf tmp
43 mkdir -p tmp
44 popd
45
46 for COUNTRY in $COUNTRIES;
47 do
48     echo "===================================================================="
49     echo "$COUNTRY"
50     echo "===================================================================="
51     DIR="$UPDATEDIR/$COUNTRY"
52     DOWNURL="$BASEURL/$COUNTRY$DOWNCOUNTRYPOSTFIX"
53     IMPORTFILE=$COUNTRY$DOWNCOUNTRYPOSTFIX
54     IMPORTFILEPATH=${UPDATEDIR}/tmp/${IMPORTFILE}
55
56     touch2 $IMPORTFILEPATH
57     wget ${DOWNURL} -O $IMPORTFILEPATH
58
59     touch2 ${DIR}/sequence.state
60     pyosmium-get-changes -O $IMPORTFILEPATH -f ${DIR}/sequence.state -v
61
62     IMPORT_CMD="${IMPORT_CMD} --osm-file ${IMPORTFILEPATH}"
63     echo $IMPORTFILE
64     echo "===================================================================="
65 done
66
67 echo "===================================================================="
68 echo "Setting up nominatim db"
69 ${IMPORT_CMD} 2>&1
70 echo "===================================================================="