Skip to content

🗺️ Extended fork with Chinese city themes, proxy support & rendering improvements (PR #207) #208

@LujiaJin

Description

@LujiaJin

Hi @originalankur 👋

I've been using maptoposter extensively to generate map posters for Chinese cities, and in the process made several improvements that I've submitted as PR #207. While waiting for it to be reviewed, I wanted to share a pointer here in case anyone else finds it useful.

What's been added

My fork is at: https://github.com/LujiaJin/city-map-poster

Rendering improvements

  • Banding-free gradient fades — replaced the 256-entry ListedColormap with a direct float32 RGBA array (1024 rows) + bilinear interpolation, eliminating colour banding artefacts on dark themes
  • Background patina texture (bg_patina theme key) — organic mottled verdigris texture using Gaussian-blurred noise
  • Full-canvas two-colour gradient (bg_top / bg_bottom theme keys)

Usability improvements

  • HTTP proxy support — auto-reads HTTP_PROXY / HTTPS_PROXY env vars; useful for users behind corporate firewalls or VPNs (Overpass API is frequently blocked in China)
  • Viewport offset flags (-mx / -my) — shift the geographic centre left/right/up/down within the poster crop window, useful when a city's most interesting area isn't at the centroid
  • Road width scaling (road_width_scale theme key) — one knob to adjust all road widths proportionally
  • UTF-8 BOM compatibility — theme JSON files open with utf-8-sig encoding, preventing garbled characters on Windows

30+ new Chinese city themes

Themes for cities including 赤峰, 大同, 固原, 秦皇岛, 中卫, 承德, 福州, 厦门, 无锡 (Taihu ink), 运城, 昌都, 林芝, 拉萨, 天津, 庐山 etc., covering a range of aesthetics from loess plateau earth tones to sea-blue coastal styles.


All changes are fully backward-compatible — existing themes and CLI arguments work unchanged. The new theme keys are all optional with safe defaults.

Feel free to check out the fork if you'd like to try any of these features before PR #207 lands. Happy to answer questions!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions