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:
go mod tidy
-
Start the Redis server:
redis-server
-
Run the OSM Tile Server:
cd cmd/server go run main.go
- Run the tile loader:
cd example/load_cache go run main.go
- Run the OSM Map Viewer:
cd py-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 cmd/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 py-src/osm_graphics_view.py
and py-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 py-src/searchwidget.py
. It allows users to search for locations using the Nominatim API and displays suggestions in a list.