• दुनिया भर के शहरों के नक्शों को मिनिमल आर्ट पोस्टर के रूप में बनाने वाला Python-आधारित ओपन सोर्स टूल
  • OpenStreetMap(OSMnx) डेटा का उपयोग करके सड़कों, जलमार्गों, पार्कों जैसी भौगोलिक विशेषताओं को विज़ुअलाइज़ करता है, और matplotlib से रेंडर करता है
  • 17 तरह के थीम स्टाइल (जैसे: neon_cyberpunk, blueprint, japanese_ink) देता है, और JSON फ़ाइलों के जरिए कस्टम थीम जोड़ने की सुविधा भी है
  • कमांड लाइन से शहर का नाम, देश का नाम, radius और theme देकर अपने-आप पोस्टर बनाता और सेव करता है
  • डिज़ाइन और डेटा विज़ुअलाइज़ेशन के संयोजन के जरिए डेवलपर और डिज़ाइनर शहरों की संरचना को कलात्मक तरीके से एक्सप्लोर कर सकते हैं

परियोजना अवलोकन

  • MapToPoster एक Python स्क्रिप्ट है जो उपयोगकर्ता द्वारा चुने गए शहर के नक्शे के आधार पर मिनिमल डिज़ाइन पोस्टर बनाती है
    • बना हुआ पोस्टर अपने-आप posters/ डायरेक्टरी में सेव हो जाता है
    • MIT लाइसेंस के तहत जारी होने के कारण इसे स्वतंत्र रूप से संशोधित और वितरित किया जा सकता है
  • रिपॉज़िटरी पर लगभग 2.7k Star और 164 Fork हैं

मुख्य फीचर

  • कमांड-लाइन इंटरफ़ेस (CLI) के जरिए शहर का नाम (--city), देश का नाम (--country), theme (--theme), दूरी (--distance) देकर पोस्टर बनाया जा सकता है
  • --list-themes विकल्प से उपलब्ध सभी themes की सूची देखी जा सकती है
  • दूरी (distance) के मान के अनुसार शहर के आकार के हिसाब से उपयुक्त radius तय किया जा सकता है
    • 4,000–6,000m: छोटे शहर
    • 8,000–12,000m: मध्यम आकार के शहर
    • 15,000–20,000m: महानगर

थीम संरचना

  • themes/ डायरेक्टरी में 17 theme JSON फ़ाइलें शामिल हैं
    • उदाहरण: noir, blueprint, neon_cyberpunk, warm_beige, forest, terracotta आदि
  • हर theme में background color, road color, water, park आदि के color properties तय किए जाते हैं
  • उपयोगकर्ता JSON फ़ॉर्मैट में नई theme सीधे जोड़ सकते हैं
    • उदाहरण: "bg": "#FFFFFF", "road_primary": "#1A1A1A" आदि

उपयोग उदाहरण

  • अलग-अलग शहरों और themes के संयोजन से पोस्टर बनाए जा सकते हैं
    • python create_map_poster.py -c "Tokyo" -C "Japan" -t japanese_ink -d 15000
    • python create_map_poster.py -c "Barcelona" -C "Spain" -t warm_beige -d 8000
    • python create_map_poster.py -c "Dubai" -C "UAE" -t midnight_blue -d 15000
  • उदाहरण पोस्टरों में San Francisco, Venice, Marrakech, Singapore जैसे शहर शामिल हैं

आंतरिक संरचना और आर्किटेक्चर

  • मुख्य घटक हैं CLI Parser, Geocoding(Nominatim), Data Fetching(OSMnx), Rendering(matplotlib)
  • रेंडरिंग क्रम (z-order): background → water → park → road → gradient → text
  • प्रमुख फ़ंक्शन
    • get_coordinates(): शहर के नाम से latitude/longitude प्राप्त करना
    • create_poster(): पूरा rendering pipeline
    • get_edge_colors_by_type(): सड़क के प्रकार के अनुसार रंग तय करना
    • get_edge_widths_by_type(): सड़क की महत्ता के अनुसार चौड़ाई तय करना
    • load_theme(): JSON theme लोड करना

विस्तार और कस्टमाइज़ेशन

  • नई map layer (जैसे: railway) जोड़ने के लिए create_poster() के भीतर OSMnx डेटा लाकर रेंडर किया जा सकता है
  • नई theme property जोड़ने पर JSON और code (load_theme()) दोनों में उसकी परिभाषा देनी होगी
  • टेक्स्ट प्लेसमेंट नियम
    • शहर का नाम: y=0.14
    • देश का नाम: y=0.10
    • निर्देशांक: y=0.07
    • स्रोत उल्लेख: y=0.02

परफ़ॉर्मेंस ऑप्टिमाइज़ेशन टिप्स

  • dist मान 20km से अधिक होने पर डाउनलोड गति धीमी हो सकती है और memory उपयोग बढ़ सकता है
  • coordinate caching से Nominatim request limit से बचा जा सकता है
  • network_type='drive' सेट करने पर rendering speed बेहतर होती है
  • तेज़ preview के लिए dpi को 150 तक कम किया जा सकता है

टेक स्टैक और लाइसेंस

  • Python 100% में लिखा गया है
  • मुख्य लाइब्रेरी: OSMnx, matplotlib, argparse
  • MIT License के तहत वितरित, व्यावसायिक उपयोग और संशोधन संभव

सारांश

  • MapToPoster एक code-आधारित city-map art tool है, जो data visualization और design को जोड़ने वाला ओपन सोर्स प्रोजेक्ट है
  • डेवलपर, डिज़ाइनर और data visualization विशेषज्ञों के लिए शहरों की संरचना को कलात्मक रूप में समझने का उपयोगी टूल

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.