Skip to content

arrobaraujo/map_maker

Repository files navigation

GTFS Map Maker

Versão em Português

GTFS route map generator with a modern graphical interface and GIS support.

📥 Download (Ready-to-use Version)

If you just want to run the app without installing Python:

  1. Go to the Releases tab of this repository.
  2. Download the latest .exe file at the bottom of the page in the "Assets" section.
  3. Run the file directly! (If Windows blocks it, see this guide).

✨ Features

  • Granular Zoom (0.1): Precise zoom adjustment for perfect framing, smooth and without jerky jumps.
  • Smart Multi-Selection: Select multiple layers with Ctrl + Click or a full line (all directions) with Shift + Click.
  • Batch Styling: Change color and thickness of multiple selected layers simultaneously.
  • Smart Legend: Automatic unification by color to simplify visualization.
  • Individual Layer Removal via button (✕).
  • Clean screenshots (automatically hides zoom buttons).
  • High-Quality Export: DPI control for sharp images and PDFs.
  • Professional Export: Save selected routes in SVG (Vector), KML (Google Earth), GeoPackage (.gpkg), and Shapefile (.shp) formats.

Dependencies

  • Python 3.9+
  • CustomTkinter
  • TkinterMapView

🚀 Running from Source

  1. Ensure you have Python 3.10+ installed.
  2. Install dependencies:
    pip install -r requirements.txt
    pip install -r requirements-dev.txt
  3. Run the application:
    python src/app.py

🐳 Running with Docker

The project includes a GUI-enabled container using Xvfb + VNC + noVNC.

  1. Build and start the container:
    docker compose up --build
  2. Open the app in your browser:
  3. Optional direct VNC access:
    • Host: localhost
    • Port: 5901

Notes:

  • The map_tiles_cache folder is mounted as a volume to preserve tile cache.
  • The Docker runtime is intended for development and demo usage.

📦 Building the Executable (.exe)

To create a single .exe file for Windows:

  1. Install PyInstaller:
    pip install pyinstaller
  2. Build using the provided script:
    .\scripts\build_exe.ps1 -Clean
    Or run PyInstaller directly:
    pyinstaller app.spec
  3. The final file will be in the dist/ folder.

📂 Project Structure

  • src/: Source code.
    • app.py: Main app orchestrator.
    • processor.py: GTFS processing engine.
    • controllers/: UI action orchestration (map + GTFS flow).
    • services/: Domain rules (layers, zoom, exports).
    • ui/: UI building module.
    • utils/renderer.py: Rendering helpers.
  • tests/: Automated tests (pytest).
  • map_tiles_cache/: Offline map cache.

About

Criador de mapas e arquivos SIG com GTFS

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages