8 comments

  • maelito 4 minutes ago
    Unfortunately, Tilemaker hasn't planned or cannot plan to support MLT in the medium-term.

    That will leave a significant part of the community out of this transition.

    See this interesting (and quite heated) discussion : https://github.com/systemed/tilemaker/issues/856

    • Koffiepoeder 1 hour ago
      Had to search a bit, but here's a demo page: https://maplibre.org/maplibre-gl-js/docs/examples/display-a-... Can be compared with: https://maplibre.org/maplibre-gl-js/docs/examples/display-a-...

      In that example I saw this in the console:

          before - 2.41+26.29+24.87+71.28+59.2+77.57 - 261.62kb
          after  - 2.45+22.4 +22.66+60.6+51.99+77.57 - 237.67kb
      
      So roughly a ~10% compression improvement, neat!
      • dzogchen 1 hour ago
        Note that the demotiles style is not really comparable to a production basemap such as ones based on the popular OpenMapTiles schema. The article linked in the announcement has some more findings related to compression ratio.

        Also note that lightweight encodings are built into the format, and different tiles can even be encoded in a completely different way. So you have to use heuristics to find the best combination of encodings and often you need to make a trade off between tile size and decoding performance. It is still early days for MLT, but all this means there are a lot of possibilities for optimization. In fact, AWS is again financing work on MLT this year, with a focus on optimization.

        Lastly, when benchmarking tile size, it is good to look at actual usage patterns instead of size of the total tile set. Nobody is zooming into a random spot in the ocean, for example. ;-)

      • pratio 1 hour ago
        This is interesting. We recently deployed a solution that uses pmtiles and it's great.

        https://docs.protomaps.com/pmtiles/

        afaik, pmtiles uses mvt, let's hope the tooling to convert the tiles to mlt also becomes available.

        • maelito 3 minutes ago
          I'm building PMTiles through Tilemaker, PMTiles is incredible, but sadly it will take a lot of work to produce MLT though Tilemaker :/
          • jamessb 1 hour ago
            PMtiles is often used with MVT tiles, but it can encapsulate a variety of tile types: the current spec [1] has defined tile types for MVT, PNG, JPEG, WebP and AVIF (plus "Unknown/Other").

            [1]: https://github.com/protomaps/PMTiles/blob/main/spec/v3/spec....

            • pratio 35 minutes ago
              Absolutely, we have MVT tiles at the moment, I'm hoping to test MLT soon
            • dzogchen 1 hour ago
              PMTiles is actually pretty agnostic to what kind of tiles it contains! There is already a PMTiles PR that updates the byte that specifies the type of tile to include MLT.

              https://github.com/protomaps/PMTiles/pull/596

              • pratio 33 minutes ago
                Oh wow, thank you, looking forward to this
              • Humphrey 1 hour ago
                Oh pmtiles is such a simple and innovative solution!
                • pratio 34 minutes ago
                  Yes, Absolutely in love with it. Loading tiles with range requests made our application so much faster.
              • ccev 2 hours ago
                MapLibre is an awesome project, their JS library is by far the best way to display maps in the browser that I've come across. Very excited to eventually switch to this format!
              • adim86 26 minutes ago
                I find it shocking that a reputable resource such as this is still displaying the size of Greenland or Africa wrong (Mercator projection) in relation to other land masses in its marketing material and documentation, like here. It just brings doubt to the whole project, which is a shame considering all the time they must have put in. Why show the map that way when majority of its users will never use it for nautical navigation? https://maplibre.org/maplibre-gl-js/docs/examples/display-a-...
                • dan-robertson 6 minutes ago
                  I’m not sure it’s very useful to rehash an argument with very tenuous relation to the OP here. The normal reason to use the Mercator projection in these situations is (a) it’s what people are used to and (b) it preserves angles so if you zoom in on a street then up will still be north and roads that are at right angles in the real world appear to be at right angles on the map. The latter property is pretty desirable and hard to achieve without doing some weird transition between projections as you zoom. This matters more for Europe (and I suppose parts of British Colombia) where there is a high population density at latitudes that are pretty extreme in much of the world.

                  I think Apple Maps has a pretty reasonable compromise here of transitioning from a globe to Mercator as you zoom, but this is a less nice UI with a mouse as you need to click to rotate the globe instead of pointing and zooming only. I don’t think there’s anything in this data that would make that unachievable – you just need to reproject the vector data a bit as you zoom out – but it takes some tricky mathematics to get right and so hasn’t been done yet.

                  • dzogchen 17 minutes ago
                    It's on our roadmap to support alternate projections, but as you can imagine it's a big project that so far nobody has been willing to pay for to implement unfortunately.

                    MapLibre GL JS does support globe mode. https://maplibre.org/maplibre-gl-js/docs/examples/display-a-... May we should update our examples to use globe mode when showing examples, especially those that show a world map. We will take that feedback into consideration!

                    You can use the Equal Earth projection with a plugin: https://equal.bbox.earth/maplibre-americas/

                    • workmandan 21 minutes ago
                      Web Mercator is the standard projection used on the web, if you think the we should use a different projection on the web then that's a completely separate argument
                      • willtemperley 16 minutes ago
                        It's actually worse than that because the Web Mercator projection is unusable for navigation too - it doesn't preserve angles or area! (Angles are nearly preserved).

                        Well done Google. Slow handclap.

                        The NGA advised it's likely to cause geolocation errors of up to 40km near the poles:

                        https://www.gpsworld.com/nga-issues-advisory-notice-on-web-m...

                        • Flatterer3544 14 minutes ago
                          You're a bit hasty, for the users that needs mercator projections, they should be able to get it, see: https://maplibre.org/maplibre-gl-js/docs/API/type-aliases/Pr...
                          • trgn 11 minutes ago
                            Web mercator is fantastic map. It's well known of course, so very helpful to orient. Plus, its square and easily tile-able, which is good for performance. Shapes of countries are preserved. Plus, the lines are straight, which works great for on screen. Neat and tidy.

                            Who cares Greenland looks big when zoomed out. "Mercator distorts size" is one of those gis-nerd idee fixes, the first factoid they learn in class, and it overwhelms all thought.

                            • bottled_poe 23 minutes ago
                              Accuracy where it matters is why. Do you have a better suggestion for projecting a sphere onto a rectangle?
                              • willtemperley 9 minutes ago
                                That is a completely inaccurate comment. Web Mercator was built as a kludge to tile the world into a square not a rectangle.

                                It has errors of up to 40km near the poles, the NGA had to issue an advisory about it.

                                There is a whole science behind map projections and Google ignored it entirely when they created Web Mercator.

                                • einpoklum 18 minutes ago
                                  I would not use such strong rhetoric as the GP, but I believe they probably mean we should lean towards using the Gall/Peters projection, which maintains lengths and areas, but not angles.

                                  (There are of course other projections with other interesting features; or you could take the same projection but center the world differently etc.)

                                • lars_francke 20 minutes ago
                                  Because that's what everyone is used to.

                                  Maplibre supports different projections if you want.

                                  • techterrier 16 minutes ago
                                  • twelvechairs 58 minutes ago
                                    Looks great. I wish there was similar advancement for full 3d tiles. The only real option at the moment is cesiums 3d tiles format which is nowhere near as fast as it could/should be
                                    • QuiCasseRien 43 minutes ago
                                      All links in the top navigation are broken (404).
                                      • dzogchen 31 minutes ago
                                        Sorry about that. Noticed the footnote was broken.

                                        Fixed the footnote, broke all other links. Should be OK again when the caches catch up.

                                      • einpoklum 20 minutes ago
                                        I am not familiar with the ecosystem of geographic data and mapping as online services. Can someone please explain...

                                        * How this tile format, or the organization behind it, related to OpenStreetMap (if it is related at all)?

                                        * Why the need to replace the previous tile format / scheme which they mention?

                                        * What challenges such a project faces (other than, I suppose, being noticed and considered for adoption)?