# build image
docker build -t 'pelias/spatial' .# run environment tests
docker run --rm -it \
--entrypoint=npm \
pelias/spatial \
test environment# run tests
docker run --rm -it \
--entrypoint=npm \
pelias/spatial \
test# create empty spatial database
docker run --rm -i \
-v "${PWD}:/data" \
pelias/spatial \
import whosonfirst --db=/data/empty.db --file=/dev/null# merge two databases
docker run --rm -i \
-v "${PWD}:/data" \
pelias/spatial \
merge --db=/data/empty.db /data/external.db# run whosonfirst import
# note: database sourced from https://dist.whosonfirst.org/sqlite/
ingress() {
WOFDB='/data/wof/sqlite/whosonfirst-data-admin-nz-latest.db'
EXTRACT_QUERY='SELECT json_extract(body, "$") FROM geojson'
sqlite3 "${WOFDB}" "${EXTRACT_QUERY}"
}
ingress | docker run --rm -i \
-v "${PWD}:/data" \
pelias/spatial \
import whosonfirst --db=/data/geo.docker.db# run openstreetmap import
# note: data generated using https://docs.osmcode.org/osmium/latest/
ingress() {
EXTRACT_FILE='osmium.extract.geojsonl.gz'
gzcat "${EXTRACT_FILE}"
}
ingress | docker run --rm -i \
-v "${PWD}:/data" \
pelias/spatial \
import osmium --db=/data/geo.docker.db# run point-in-polygon query
docker run --rm -i \
-v "${PWD}:/data" \
pelias/spatial \
pip --db=/data/geo.docker.db 174.766843 -41.288788On Mac:
# install C dependencies
brew install sqlite3 libspatialite
# install node dependencies
npm install
npm run postinstall# run environment tests
npm test environment# run tests
npm test# create empty spatial database
node bin/spatial.js import whosonfirst --db=empty.db --file=/dev/null# merge two databases
node bin/spatial.js merge --db=/data/empty.db /data/external.db# run whosonfirst import
# note: database sourced from https://dist.whosonfirst.org/sqlite/
ingress() {
WOFDB='/data/wof/sqlite/whosonfirst-data-admin-nz-latest.db'
EXTRACT_QUERY='SELECT json_extract(body, "$") FROM geojson'
sqlite3 "${WOFDB}" "${EXTRACT_QUERY}"
}
ingress | node bin/spatial.js --db=geo.local.db import whosonfirst# run openstreetmap import
# note: data generated using https://docs.osmcode.org/osmium/latest/
ingress() {
EXTRACT_FILE='osmium.extract.geojsonl.gz'
gzcat "${EXTRACT_FILE}"
}
ingress | node bin/spatial.js --db=geo.local.db import osmium# run point-in-polygon query
node bin/spatial.js --db=geo.local.db pip 174.766843 -41.288788