15 पॉइंट द्वारा GN⁺ 2026-01-27 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • MapLibre Tile(MLT) मौजूदा Mapbox Vector Tile(MVT) की जगह लेने वाला नया अगली पीढ़ी का vector tile format है, जिसे बड़े पैमाने के geospatial data processing की दक्षता बढ़ाने के लिए डिज़ाइन किया गया है
  • यह अधिकतम 6 गुना बेहतर compression ratio और SIMD-आधारित तेज decoding performance प्रदान करता है, जिससे storage space, latency और cache efficiency बेहतर होती है
  • आगे चलकर यह 3D coordinates (elevation), GPU-आधारित processing, complex data types, linear referencing और m-values के समर्थन तक विस्तार योग्य है
  • यह अभी MapLibre GL JS और MapLibre Native में तुरंत उपयोग किया जा सकता है, और demo tiles, conversion server, तथा Planetiler के जरिए generation support भी उपलब्ध है
  • यह open source community, कंपनियों और academia के सहयोग से विकसित format है, जिसे Microsoft और AWS की sponsorship से पूरा किया गया

MapLibre Tile का परिचय

  • MapLibre Tile(MLT), [Mapbox Vector Tile(MVT)] का उत्तराधिकारी format है, जिसे तेज़ी से बढ़ती geospatial data की मात्रा और जटिल अगली पीढ़ी के source formats को संभालने के लिए शुरुआत से नए सिरे से डिज़ाइन किया गया है

    • इसे modern hardware और graphics API की performance का लाभ उठाने के लिए डिज़ाइन किया गया है, ताकि planet-scale 2D और 2.5D basemaps को high performance के साथ process और render किया जा सके
    • मौजूदा implementation, functionality के स्तर पर MVT के बराबर है, लेकिन performance और efficiency के मामले में बेहतर है
  • मुख्य तकनीकी सुधार

    • Compression ratio में सुधार: बड़े tiles में अधिकतम 6 गुना सुधार, इसके लिए column-oriented layout और recursive lightweight encoding का उपयोग किया गया है
    • Decoding performance में सुधार: SIMD/vectorized instructions के साथ जुड़ सकने वाली तेज और हल्की encoding structure
    • नतीजतन latency में कमी, storage और transfer cost में बचत, और cache utilization में सुधार होता है

भविष्य की विस्तार क्षमता

  • MLT को निम्नलिखित भविष्य की सुविधाओं के समर्थन को ध्यान में रखकर डिज़ाइन किया गया है

    • 3D coordinates (elevation) के लिए बेहतर समर्थन
    • CPU और GPU की efficient processing के लिए storage और memory format optimization
    • linear referencing और m-values के समर्थन के जरिए Overture Maps(GeoParquet) जैसे अगली पीढ़ी के formats के साथ compatibility
    • nested properties, lists, maps जैसे complex types का समर्थन
  • MLT की आगे की दिशा community की आवश्यकताओं के अनुसार तय होगी, और विभिन्न extension ideas तथा contributions का स्वागत है

    • संबंधित सामग्रियों में Markus Tremmel की FOSS4G 2024 presentation slides, YouTube talk, और ACM paper शामिल हैं

उपलब्धता और integration

  • MLT अभी तुरंत उपयोग के लिए उपलब्ध है

    • MapLibre GL JS और MapLibre Native दोनों MLT sources को support करते हैं
    • style JSON की encoding property में mlt value देकर इसका उपयोग किया जा सकता है
  • इसे आज़माने और विकसित करने के तरीके

  • MLT के उपयोग अनुभव साझा करने के लिए Slack के #maplibre-tile-format channel या GitHub issues/discussions में भाग लेने की सिफारिश की जाती है

आभार और सहयोग

  • MLT को academia, open source, और कंपनियों के बीच कई वर्षों के सहयोग से विकसित किया गया है
    • Markus Tremmel ने format की परिकल्पना की, और Yuri Astrakhan ने project का नेतृत्व किया
    • Tim Sylvester ने C++ implementation किया, जबकि Harel Mazor, Benedikt Vogl, और Niklas Greindl ने JavaScript implementation संभाला
    • Microsoft और AWS ने development funding प्रदान की

टिप्पणियाँ

  • MLT, MVT के विपरीत, ऐसी layers को support नहीं करता जिनमें एक ही column के values का type हर feature के लिए अलग हो

1 टिप्पणियां

 
GN⁺ 2026-01-27
Hacker News प्रतिक्रियाएँ
  • शनिवार को FOSDEM के Geospatial devroom में होने वाली MapLibre प्रस्तुति में शामिल होने की सिफारिश करता हूँ
    इवेंट शेड्यूल लिंक

    • अगर सीट मिली तो मैं ज़रूर जाना चाहूँगा 😄
  • मैंने example page थोड़ा देखा और MLT के साथ map display example की मौजूदा map display example से तुलना की
    console log देखने पर पता चला कि compression efficiency में लगभग 10% सुधार हुआ है। काफ़ी प्रभावशाली है

    • लेकिन demo tile style की तुलना वास्तविक OpenMapTiles-आधारित production basemap से करना मुश्किल है
      MLT format में कई तरह की lightweight encoding built-in हैं, और हर tile को अलग तरीके से encode भी किया जा सकता है
      इसलिए सबसे अच्छा combination ढूँढने के लिए heuristic approach की ज़रूरत होती है, और tile size तथा decoding performance के बीच trade-off मौजूद है
      यह अभी शुरुआती चरण में है, लेकिन AWS इस साल भी MLT optimization work को sponsor कर रहा है, इसलिए आगे सुधार की काफ़ी गुंजाइश है
      benchmark करते समय कुल tile size से ज़्यादा वास्तविक usage pattern देखना ज़रूरी है — क्योंकि कोई भी समुद्र के ठीक बीच में zoom नहीं करता 😉
  • मैंने हाल ही में pmtiles-आधारित solution deploy किया है और मैं उससे बहुत संतुष्ट हूँ
    PMTiles दस्तावेज़ देखें
    pmtiles MVT का उपयोग करता है, लेकिन उम्मीद है कि आगे MLT में convert करने वाले tools आएँगे

    • दरअसल PMTiles tile format से स्वतंत्र है। MLT को शामिल करने के लिए type byte update करने वाला PR पहले ही आ चुका है
    • PMTiles सिर्फ MVT ही नहीं, बल्कि PNG, JPEG, WebP, AVIF जैसे कई formats भी रख सकता है। spec document देखें
    • मैं Tilemaker से PMTiles build कर रहा हूँ, लेकिन Tilemaker के साथ MLT generate करने के लिए काफ़ी काम चाहिए होगा 😅
    • pmtiles सच में सरल लेकिन क्रांतिकारी solution है
  • ब्राउज़र में map display करने के लिए MapLibre अब तक इस्तेमाल की गई JS libraries में सबसे बेहतरीन है
    नए format पर switch होने की संभावना से उत्साहित हूँ

    • पूरी तरह सहमत 👍
  • Planetiler में --tile-format=mlt CLI option के साथ MLT generate किया जा सकता है
    अभी यह सिर्फ main branch में है, लेकिन जल्द release होगा
    test result में default settings पर OpenMapTiles archive size लगभग 10% कम हुआ। और optimization भी चल रही है

  • दुर्भाग्य से Tilemaker की medium-term में MLT support की कोई योजना नहीं है
    इसलिए community का एक हिस्सा migration से बाहर रह सकता है
    संबंधित चर्चा के लिए issue thread देखें

    • फिर भी बाद में conversion संभव है। repository में MVT से MLT में बदलने वाला Java-आधारित conversion program मौजूद है
  • यह दिलचस्प है कि vector file formats अभी भी नए सिरे से reinvent किए जा रहे हैं
    compression ratio या decoding speed में सुधार समझ में आता है, लेकिन मैं जानना चाहता हूँ कि इस design को आगे बढ़ाने वाला नया idea या insight क्या था

  • मैं इस project को कुछ समय से देख रहा हूँ और यह काफ़ी रोमांचक लग रहा है
    MapLibre stack user के नज़रिए से आख़िरी बड़ा काम शायद PostGIS में As_MLT() function जुड़ना है

    • और Geoserver support भी चाहिए
  • क्या यहाँ कोई map self-hosting करता है? इसके फायदे-नुकसान और इस्तेमाल किए जाने वाले tools जानने की उत्सुकता है

    • हम कई सालों से protomaps(pmtiles) को self-host कर रहे हैं
      server को बस इतना करना होता है कि वह range request के साथ static files serve कर सके (Caddy या Nginx दोनों ठीक हैं)
      map एक ही बड़ा file होता है, इसलिए कई servers के बीच share करना भी आसान है
      नुकसान लगभग नहीं हैं, लेकिन client side पर custom protocol support library जोड़नी पड़ती है
      style editing थोड़ा मुश्किल है, लेकिन Maputnik editor में protomaps style load करके modify किया जा सकता है
      guide document देखें
    • मैं भी pmtiles से ऑस्ट्रेलिया क्षेत्र का store locator map self-host करता हूँ
      मैंने दुनिया का low-resolution map (50MB) और ऑस्ट्रेलिया का high-resolution map (900MB) अलग-अलग बनाकर S3 पर upload किया है
      मुझे ताज़ा data की ज़रूरत नहीं होती, इसलिए उसी तरह छोड़कर इस्तेमाल करता हूँ, और यह बहुत अच्छी तरह काम करता है
    • print के लिए high-resolution map बनाने वाले project में भी self-hosting ही एकमात्र समाधान था
      commercial API के साथ 300dpi raster generation cost बहुत ज़्यादा थी या resale restrictions थीं
    • मैं भी self-host करता हूँ। फ़ायदा यह है कि आप data और stack पर पूरी तरह control रख सकते हैं, और नुकसान यह है कि stack खुद बनाना और cloud manage करना पड़ता है
      मैं PostGIS के साथ vector tiles store और serve करता हूँ, और AWS S3 में raster data को GeoTiff COG रूप में store करता हूँ
    • हम mod_tile+renderd का उपयोग करते हैं
      OSM से दिलचस्पी वाले क्षेत्र (Colorado) का pbf build करते हैं, openstreetmap-tile-server container चलाते हैं, फिर style apply करके renderd से render करते हैं
  • MLT अच्छा है, लेकिन काश 3D tile formats में भी ऐसी प्रगति होती
    अभी Cesium का 3D Tiles लगभग एकमात्र विकल्प है, लेकिन performance उम्मीद जितनी तेज़ नहीं है