forked from organicmaps/organicmaps
OSRM server generation with planet.
This commit is contained in:
parent
8a0c4803d2
commit
3451d19904
2 changed files with 46 additions and 5 deletions
|
@ -147,6 +147,8 @@ MERGE_INTERVAL=${MERGE_INTERVAL:-40}
|
|||
NODE_STORAGE=${NODE_STORAGE:-${NS:-mem}}
|
||||
ASYNC_PBF=${ASYNC_PBF-}
|
||||
KEEP_INTDIR=${KEEP_INTDIR-1}
|
||||
OSRM_URL=${OSRM_URL-}
|
||||
MIGRATE=${MIGRATE-1}
|
||||
# nproc is linux-only
|
||||
if [ "$(uname -s)" == "Darwin" ]; then
|
||||
CPUS="$(sysctl -n hw.ncpu)"
|
||||
|
@ -282,7 +284,23 @@ if [ "$MODE" == "coast" ]; then
|
|||
fail
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$TRY_AGAIN" ]; then
|
||||
if [ -z "$OSRM_URL" ]; then
|
||||
log "OSRM_URL variable not set. Generate local world OSRM server."
|
||||
putmode "Step RO: Generating whole world OSRM files for osrm-routed server."
|
||||
bash "$ROUTING_SCRIPT" online >> "$PLANET_LOG" 2>&1
|
||||
OSRM_URL="127.0.0.1:10012/"
|
||||
bash "$ROUTING_SCRIPT" server >> "$PLANET_LOG" 2>&1
|
||||
fi
|
||||
|
||||
if [ -z "$OSRM_URL" ]; then
|
||||
log "OSRM_URL still abcent. Generating without world level roads."
|
||||
else
|
||||
python "$ROADS_SCRIPT" "$INTCOASTSDIR" "$OSRM_URL" >>"$LOG_PATH"/road_runner.log
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# Make a working copy of generated coastlines file
|
||||
if [ -n "$OPT_COAST" ]; then
|
||||
|
@ -342,11 +360,6 @@ if [ -n "$OPT_ROUTING" -a -z "$NO_REGIONS" ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$OPT_ONLINE_ROUTING" -a -z "$NO_REGIONS" ]; then
|
||||
putmode "Step RO: Generating OSRM files for osrm-routed server."
|
||||
bash "$ROUTING_SCRIPT" online >> "$PLANET_LOG" 2>&1
|
||||
fi
|
||||
|
||||
if [ "$MODE" == "inter" ]; then
|
||||
putmode "Step 3: Generating intermediate data for all MWMs"
|
||||
# 1st pass, run in parallel - preprocess whole planet to speed up generation if all coastlines are correct
|
||||
|
|
|
@ -163,6 +163,34 @@ elif [ "$1" == "online" ]; then
|
|||
else
|
||||
echo "Failed to create $OSRM_FILE" >> "$LOG"
|
||||
fi
|
||||
elif [ "$1" == "server" ]; then
|
||||
OSRM_PATH="${OSRM_PATH:-$OMIM_PATH/3party/osrm/osrm-backend}"
|
||||
OSRM_BUILD_PATH="${OSRM_BUILD_PATH:-$OMIM_PATH/../osrm-backend-release}"
|
||||
[ ! -x "$OSRM_BUILD_PATH/osrm-extract" ] && fail "Please compile OSRM binaries to $OSRM_BUILD_PATH"
|
||||
|
||||
OSRM_THREADS=${OSRM_THREADS:-15}
|
||||
OSRM_MEMORY=${OSRM_MEMORY:-50}
|
||||
|
||||
export STXXLCFG="$HOME/.stxxl"
|
||||
OSRM_FILE="$INTDIR/planet.osrm"
|
||||
PORT="10012"
|
||||
RESTRICTIONS_FILE="$OSRM_FILE.restrictions"
|
||||
LOG="$LOG_PATH/planet.log"
|
||||
if [ -s "$OSRM_FILE" ]; then
|
||||
echo "Starting: $OSRM_FILE" >> "$LOG"
|
||||
pkill osrm-routed
|
||||
echo "killed: $OSRM_FILE" >> "$LOG"
|
||||
"$OSRM_BUILD_PATH/osrm-routed" "$OSRM_FILE" --borders "$OMIM_PATH/data/" --port "$PORT" >> "$LOG" 2>&1 &
|
||||
echo "started: $OSRM_FILE" >> "$LOG"
|
||||
|
||||
echo "Waiting until OSRM server starts:" >> "$LOG"
|
||||
until $(curl --output /dev/null --silent --head --fail http://localhost:$PORT/mapsme); do
|
||||
printf '.' >> "$LOG"
|
||||
sleep 5
|
||||
done
|
||||
else
|
||||
echo "Can't find OSRM file: $OSRM_FILE" >> "$LOG"
|
||||
fi
|
||||
|
||||
else
|
||||
fail "Incorrect parameter: $1"
|
||||
|
|
Loading…
Add table
Reference in a new issue