This project aims to conflate OpenStreetMap (OSM) data with Mapillary observations using PostGIS. The goal is to normalize OSM ways, correct topological errors, and connect bus stops observed in Mapillary imagery to the nearest OSM road links.
- PostgreSQL (v14) with PostGIS extension
- Docker for containerized database setup
- pgAdmin for database management
- Git for version control
The project consists of three main parts:
- Environment Preparation: Setting up PostgreSQL with PostGIS and restoring the provided database backup.
- Data Normalization: Correcting OSM ways to ensure topological correctness and splitting them into smaller links.
- Data Conflation: Connecting Mapillary bus stop observations to the nearest OSM road links.
Below is the visualization of Munich OSM Data Conflation results.
- Docker and Docker Compose installed.
- PostgreSQL and pgAdmin (optional, but recommended for easier database management).
- Clone the repository
- Start the Docker containers:
docker-compose up -d
- Use pgAdmin to connect to the database and restore the provided backup.
Execute the results.sql script in pgAdmin or via the psql command-line tool to perform data normalization and conflation.
- Data Normalization:
- Identify and split OSM ways at intersection points.
- Create topologically correct links from the normalized ways.
- Data Conflation:
- Filter out non-road links (e.g., bicycle paths) to focus on the true road network.
- Find the nearest road link for each Mapillary bus stop.
- Visualization:
- Create map to showcase the conflated data.
- Test Scenario Fixes:
- The second test scenario is currently failing.
The munich.osm file was not imported as the backup_OCC_PostGIS.backup already contained the necessary OSM data. It can be used for visualization step.
This project is licensed under the MIT License.
