Overscape is a replacement for some of the backend services for the Microsoft Soundscape iOS app.
It serves map data by sending queries to a public or privately-hosted Overpass server. Since it doesn't store its own data, it should be simpler to deploy and run than the server code provided by Microsoft.
- In this repository, run the server:
- To use a public Overpass server as the data source, run:
$ docker build -t overscape . $ docker run -it --rm -p 8080:8080 overscape
- Alternatively, to create a local Overpass container with a small dataset (Washington, DC):
$ docker-compose up --build
- To confirm the server is up and serving JSON data, use a browser to visit a tile URL like http://localhost:8080/tiles/16/18745/25070.json
- In the Soundscape repository, in source code file apps/ios/GuideDogs/Code/Data/Services/Helpers/ServiceModel.swift at line 36, set the
productionServicesHostName
value tohttp://localhost:8080
. - Open apps/ios/GuideDogs.xcworkspace in Xcode, and run the iOS simulator.
- To trigger queries to our local server, set "Location" (under the "Feature" menu) to a value that simulates moving, like "City Run."
- You may also need to install a text-to-speech voice in the iOS settings.
You can also run the original Soundscape server code as provided by Microsoft. Unlike Overscape, the Microsoft version involves loading and hosting of bulk OpenStreetMap data in a PostGIS database. See the docker-compose file for details on spinning up the necessary services.
Overscape also supports using a PostGIS server as a backend -- simply pass the argument --backend-url postgres://user:password@host:port/db
when launching the server.
pip install -r requirements_test.txt
cd app && pytest --asyncio-mode=auto tests.py