Skip to content

Transform any city into stunning, high-quality map posters with 9 unique aesthetic themes. Features ultra-high resolution output, parallel data fetching, and global OpenStreetMap coverage.

License

Notifications You must be signed in to change notification settings

aku1dev/naksakaar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Naksakaar

I have upgraded the original maptoposter project to transform any city into stunning, high-quality map posters using OpenStreetMap data. My version introduces significant improvements, most notably being the first to implement a dedicated Web UI for this engine, alongside advanced performance optimizations and enhanced customization options.

The core engine is located in the naksaengine directory.

Web Interface (New)

I am the first to introduce a completely redesigned, premium Web Interface for this engine, located in the webui directory. I built it to feature:

  • Dark Mode Aesthetic: I designed a borderless, glassmorphic look using deep blacks and sharp edges.
  • Interactive Preview: Use my infinite panning and zooming system to inspect generated posters.
  • Custom Dimensions: I added support for both standard social media presets and custom inputs (in pixels or inches) with automatic DPI conversion.
  • Real-time Feedback: You can track the progress of my generation pipeline in real-time.
  • System: I built this with Flask to integrate seamlessly with the core Python engine.

My Enhancements (aku1ra.dev)

I have performed a major performance and feature overhaul of the original codebase. Here is exactly what I changed:

  1. Performance Optimization:

    • I implemented ThreadPoolExecutor for parallel data fetching, which significantly reduces download times for complex maps.
    • I refactored naksamain.py to use relative paths correctly, so you can execute it from any project subdirectory.
    • I optimized the graph simplification logic with configurable tolerance.
  2. Core Engine Upgrades:

    • I added support for variable font weights (defaulting to Inter) to match the modern UI I designed.
    • I fixed race conditions in file saving that previously caused 404 errors on the frontend.
    • I enhanced error handling for matplotlib backends in headless environments.
  3. User Experience:

    • I created a standalone app.py server to wrap the CLI tools.
    • I added "Detail Density" presets (Minimal to Maximum) to help you abstract away complex layer settings.
    • I integrated custom size logic that calculates physical print dimensions based on DPI.

Curated Theme Collection

Experience 9 unique aesthetic themes that transform the same geographical location into dramatically different visual experiences:

  • Salleri Collection: Sophisticated palettes with maximum visibility and artistic composition
  • Cyberpunk Neon Dreams: Futuristic Tokyo-inspired neon aesthetics with electric blues and magentas
  • Vintage Travel Poster: Classic 1950s tourism art with warm sepia tones and bold colors
  • Arctic Explorer: Cool-toned palette with ice blues and snow whites for polar expedition aesthetics
  • Desert Mirage: Warm desert tones with golden sands and sunset oranges
  • Midnight Jazz Club: Rich, deep tones with burgundy, gold, and charcoal for 1920s speakeasy vibes
  • Tropical Paradise: Vibrant tropical palette with coral pinks and turquoise waters

Usage (CLI)

Navigate to the naksaengine directory to use the command line tool directly:

# Basic usage
python naksamain.py --city "Kathmandu" --country "Nepal" --detail high

# Custom theme and size
python naksamain.py --city "Tokyo" --country "Japan" --theme cyberpunk_neon --width 24 --height 36 --quality 300

Usage (Web UI)

Navigate to the webui directory to launch the graphical interface:

cd webui
python app.py

Then open http://localhost:5000 in your browser.

Installation

  1. Clone the repository:

    git clone https://github.com/aku1dev/naksakaar.git
    cd naksakaar
  2. Create a virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. Install dependencies:

    pip install -r naksaengine/requirements.txt

Acknowledgments

Curated by: aku1ra.dev
Original Author: Ankur (originalankur/maptoposter)
Base Repository: https://github.com/originalankur/maptoposter/tree/main
License: MIT

This enhanced version builds upon the original map poster generator with significant improvements including advanced detail controls, performance optimizations, and enhanced customization options.

About

Transform any city into stunning, high-quality map posters with 9 unique aesthetic themes. Features ultra-high resolution output, parallel data fetching, and global OpenStreetMap coverage.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages