Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bellingcat/osm-search
A user friendly way to search OpenStreetMap data for features in proximity to each other.
https://github.com/bellingcat/osm-search
gui javascript open-source-research open-street-map python service vue
Last synced: about 2 months ago
JSON representation
A user friendly way to search OpenStreetMap data for features in proximity to each other.
- Host: GitHub
- URL: https://github.com/bellingcat/osm-search
- Owner: bellingcat
- License: mit
- Created: 2022-10-05T08:53:17.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-09T20:22:22.000Z (6 months ago)
- Last Synced: 2024-08-02T16:12:46.426Z (5 months ago)
- Topics: gui, javascript, open-source-research, open-street-map, python, service, vue
- Language: Vue
- Homepage: https://osm-search.bellingcat.com/
- Size: 1.27 MB
- Stars: 151
- Watchers: 6
- Forks: 6
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# osm-search
This is a tool for allowing user friendly proximity queries from OpenStreetMap data.
Bellingcat has a hosted version of the tool at https://osm-search.bellingcat.com/. For more information, see [the accompanying article](https://www.bellingcat.com/resources/how-tos/2023/05/08/finding-geolocation-leads-with-bellingcats-openstreetmap-search-tool/).
![A screenshot of the tool in use](https://www.bellingcat.com/app/uploads/2023/04/image5-3-1200x829.png)
## Setup and hosting your own
### Setting up the database
A Postgres database must be set up with OSM data. This can be done with `osm2pgsql`.
`osm2pgsql -d osm --hstore-all planet-latest.osm.pbf`
Next, some additional setup should be done on the database for performance and to create a combined view of all the data:
```
psql -d osm clean.sql
psql -d osm cluster.sql
psql -d osm index.sql
psql -d osm analyze.sql
psql -d osm views.sql
```Note that if you run this using the entire planet OSM file, it will require about 700GB of space.
### Running the API
The API requires environment variables for connection with Postgres.
- `PG_DB`
- `PG_HOST`
- `PG_PORT`
- `PG_USER`
- `PG_PASSWORD`It also requires a Google Firebase service account credentials file, which must be named `service_account.json`.
### Running the frontend
The frontend requires environment variables for Mapbox geocoding queries and for Firebase. These variables will be publicly viewable and built into the app.
- `VUE_APP_MAPBOX_TOKEN`
- `VUE_APP_FIREBASE_API_KEY`
- `VUE_APP_FIREBASE_AUTH_DOMAIN`
- `VUE_APP_FIREBASE_PROJECT_ID`
- `VUE_APP_FIREBASE_STORAGE_BUCKET`
- `VUE_APP_FIREBASE_MESSAGING_SENDER_ID`
- `VUE_APP_FIREBASE_APP_ID`