e8267b1eee8fc3f4418469ce8901b881b1c76af8
OSM Import Tools
Using
Roads
Addresses
Run after Roads to reduce validation errors. Easiest to hide existing (gray) and removed (red) and just focus on what new addresses to add.
Open in JOSM, and download the affected areas from OSM including highways with this Overpass query:
Paths
Only Sumter currently has paths available.
Docker Quick Start
Using Docker Compose (Recommended)
- Build and start the container:
docker-compose up -d --build
Note: The --build flag ensures the image is rebuilt with the latest code changes.
- Access the web interface:
- Main interface: http://localhost:5000
- Map viewer: http://localhost:5000/map
- Stop the container:
docker-compose down
Using Docker Directly
- Build the image:
docker build -t osm-import-tools .
- Run the container:
docker run -d \
-p 5000:5000 \
-v "$(pwd)/data:/data" \
--name osm-import-tools \
osm-import-tools
- View logs:
docker logs -f osm-import-tools
- Stop the container:
docker stop osm-import-tools
docker rm osm-import-tools
Deploying with Portainer
Just push to git and set up a pull from git; Portainer can build and run the project directly.
Uploading to a registry
docker build -t osm-import-tools .
docker tag osm-import-tools your-registry.example.com/you/osm-import-tools
docker push your-registry.example.com/you/osm-import-tools
Features
Main Dashboard (/)
- Run data processing scripts for Lake and Sumter counties
- View real-time script output
- Access to:
- Diff Roads
- Diff Addresses
- Diff Multi-Use Paths
- Download OSM Data
Map Viewer (/map)
- Interactive map viewer for GeoJSON files
- Upload and compare OSM, Diff, and County data
- Filter by removed/added features
- Hide highway=service roads
- Drag-and-drop layer reordering
- Click on features to view properties
- Accept/reject diff features
Volume Mounts
The Docker container mounts a single data directory:
./data→/data- All data files, organized by date
Inside /data, the structure is:
/data/latest/- Symlink to the most recent data directory/data/YYMMDD/lake/- Lake County data for that date/data/YYMMDD/sumter/- Sumter County data for that date
All changes are persisted on the host in the local ./data folder.
API Endpoints
GET /- Main dashboardGET /map- Map viewerPOST /api/run-script- Execute a processing scriptGET /api/job-status/<job_id>- Get script status and logsGET /api/list-files- List available GeoJSON filesGET /data/<path>- Serve GeoJSON files
Troubleshooting
Port already in use
If port 5000 is already in use, edit docker-compose.yml:
ports:
- "8080:5000" # Change 8080 to any available port
Permission issues
Ensure the data directory has proper permissions:
mkdir -p data
chmod -R 755 data
View container logs
docker-compose logs -f
Rebuild after code changes
docker-compose down
docker-compose build --no-cache
docker-compose up -d
Description
Languages
JavaScript
37.7%
Python
32.8%
HTML
29.2%
Dockerfile
0.3%