OSM Map Utils is a project that provides utilities for working with OpenStreetMap (OSM) data. It includes tools for loading and caching OSM tiles, as well as a graphical interface for viewing and interacting with OSM maps.
This project is licensed under the MIT License. See the LICENSE file for details.
- Python 3.x
- Go 1.24 or later
- Redis server
- PySide6
- Requests library
-
Clone the repository:
git clone https://github.com/yourusername/osm-map-utils.git cd osm-map-utils
-
Create envirinment (optional):
python -m venv venv source ./venv/bin/activate
-
Install Python dependencies:
pip install -r requirements.txt
-
Install Go dependencies:
cd example/load_cache go mod tidy cd ../../../src/osm_tile_server go mod tidy
-
Start the Redis server:
redis-server
-
Run the OSM Tile Server:
cd src/osm_tile_server go run main.go
- Run the tile loader:
cd example/load_cache go run main.go
- Run the OSM Map Viewer:
cd src python main.py
The tile loader is implemented in Go and is located in example/load_cache/main.go
. It loads OSM tiles for a specified bounding box and zoom levels, and caches them in Redis.
The OSM Tile Server is implemented in Go and is located in src/osm_tile_server/main.go
. It serves OSM tiles from Redis or fetches them from the OSM servers if they are not cached.
The OSM Map Viewer is implemented in Python using PySide6 and is located in src/osm_graphics_view.py
and src/mainwindow.py
. It provides a graphical interface for viewing and interacting with OSM maps.
The search widget is implemented in Python and is located in src/searchwidget.py
. It allows users to search for locations using the Nominatim API and displays suggestions in a list.