Amazing initiative, I’ve been looking for a while for a maps server to self-host. But three details in the description made me raise my eyebrows:
No search
No directions
It’s not really a “run locally on your machine” thing, it’s more like it needs to deploy its dedicated Ubuntu machine/VM. I’m not sure why hasn’t sufficient effort been put in setting up an Ubuntu container rather than a bunch of scripts that run things over SSH.
I’ll keep an eye on it, but for now I guess I’ll keep running my OSP frontend on Nextcloud.
This is a tile server alternative, not a map app, so it doesn’t have search or directions because its an alternative to the tile infrastructure. OpenStreetMap asks that you don’t use their tile servers, so you need to get the data from somewhere else, such as OpenFreeMap.
For no search and no directions it’s a foundational decision, it’s clear to me that open-source projects only have a chance of surviving long term if they are laser focused on doing one thing very well.
For the VM thing, it easily be ported to be a Docker image. If someone does that, I’ll link that project on the repo, but I’d like to keep the repo Docker-free for the same reason as above.
There doesn’t seem to be any way to adjust the perspective on the 3d map like there is in gmaps but maybe that’s just because it’s set to need 2 fingers to not scroll?
So all those are just some config options of MapLibre. But you don’t even need to use MapLibre, it’s compatible with Leaflet, OpenLayers, etc. The majority of the work here is supplying full planet tile infrastructure, which works with various clients. The clients can then be configured freely.
I’m not sure I understand the problem that this is solving. For the last ten years, when I want to put maps on a page, I have used Leaflet, which maps made it easy to provide maps of specific areas, with custom markers, routes shown, and so on. What does this add?
This project isn’t a replacement for Leaflet. Leaflet puts together data to display and needs a tile endpoint to provide tiles. This project hosts OpenStreetMap tiles that you can point Leaflet to. While OpenStreetMap provides tile data, they ask that you do not point to their tile servers.
Aha, thank you, that makes sense. I think leaflet can also use vector geometry and render on the client, which is much easier to self host (for most maps, you only need a small file, since you don’t need zooming out all of the way to work).
As the author mentioned below my comment, Leaflet can (with a vector renderer).
On a side note you may have already seen PMTiles before, but that’s a small file format I like for distributing vector tile data as opposed to MBTiles. You can get some pretty small file sizes for capturing regions and it’s designed in mind for supporting HTTP range requests nicely
Almost right, but the PNGs in the style are just for some basic hillshading on low zoom levels. To render the vector tiles in Leaflet, you’ll need to use maplibre-gl-leaflet:
https://github.com/maplibre/maplibre-gl-leaflet
Leaflet is a Javascript library. It has to get the map tiles to serve from somewhere. Where are you getting them? There’s always been some free tile servers out there (thank you, Stamen!) but they’ve been marginal and keep going down or limited. OpenFreeMap is explicitly trying to be a good source for free map tiles.
Another big difference is Leaflet mostly works with raster tiles. Vector tiles are the newer preferred format, being smaller and more flexible. OpenFreeMap is bundling MapLibreGL for that, a popular free library that’s kind of the modern equivalent of Leaflet.
Hi, OpenFreeMap developer here, I’m happy to answer your questions.
I noted you distribute MBTiles. Do you have any thoughts or opinions about PMTiles?
Yes, I wrote about PMTiles here: https://github.com/hyperknot/openfreemap?tab=readme-ov-file#what-about-pmtiles-and-using-the-cloud
We also had a detailed discussion with the developer of PMTiles here: https://github.com/hyperknot/openfreemap/issues/16
Thank you. Seems very reasonable considering the constraints
Amazing initiative, I’ve been looking for a while for a maps server to self-host. But three details in the description made me raise my eyebrows:
I’ll keep an eye on it, but for now I guess I’ll keep running my OSP frontend on Nextcloud.
This is a tile server alternative, not a map app, so it doesn’t have search or directions because its an alternative to the tile infrastructure. OpenStreetMap asks that you don’t use their tile servers, so you need to get the data from somewhere else, such as OpenFreeMap.
For no search and no directions it’s a foundational decision, it’s clear to me that open-source projects only have a chance of surviving long term if they are laser focused on doing one thing very well.
For the VM thing, it easily be ported to be a Docker image. If someone does that, I’ll link that project on the repo, but I’d like to keep the repo Docker-free for the same reason as above.
There doesn’t seem to be any way to adjust the perspective on the 3d map like there is in gmaps but maybe that’s just because it’s set to need 2 fingers to not scroll?
Works in Firefox on my Android phone.
No I mean in google maps you can push up or down with 2 fingers to change how much the map is tilted
So all those are just some config options of MapLibre. But you don’t even need to use MapLibre, it’s compatible with Leaflet, OpenLayers, etc. The majority of the work here is supplying full planet tile infrastructure, which works with various clients. The clients can then be configured freely.
I’m not sure I understand the problem that this is solving. For the last ten years, when I want to put maps on a page, I have used Leaflet, which maps made it easy to provide maps of specific areas, with custom markers, routes shown, and so on. What does this add?
This project isn’t a replacement for Leaflet. Leaflet puts together data to display and needs a tile endpoint to provide tiles. This project hosts OpenStreetMap tiles that you can point Leaflet to. While OpenStreetMap provides tile data, they ask that you do not point to their tile servers.
It’s mentioned on the quick-start page a leaflet snippet is coming, but if you look at the style (eg https://tiles.openfreemap.org/styles/liberty) in the snippet that is there, you’ll note the reference to https://tiles.openfreemap.org/natural_earth/ne2sr/{z}/{x}/{y}.png, which is the tile endpoint :)
Aha, thank you, that makes sense. I think leaflet can also use vector geometry and render on the client, which is much easier to self host (for most maps, you only need a small file, since you don’t need zooming out all of the way to work).
As the author mentioned below my comment, Leaflet can (with a vector renderer).
On a side note you may have already seen PMTiles before, but that’s a small file format I like for distributing vector tile data as opposed to MBTiles. You can get some pretty small file sizes for capturing regions and it’s designed in mind for supporting HTTP range requests nicely
Almost right, but the PNGs in the style are just for some basic hillshading on low zoom levels. To render the vector tiles in Leaflet, you’ll need to use maplibre-gl-leaflet: https://github.com/maplibre/maplibre-gl-leaflet
None of the examples on that page appear to work on an iPad. Not sure why, the marker is rendered but the background is just a grey square.
Thank you for clarifying. Admittedly I just opened the style and copied the first tile looking URL
Leaflet is a Javascript library. It has to get the map tiles to serve from somewhere. Where are you getting them? There’s always been some free tile servers out there (thank you, Stamen!) but they’ve been marginal and keep going down or limited. OpenFreeMap is explicitly trying to be a good source for free map tiles.
Another big difference is Leaflet mostly works with raster tiles. Vector tiles are the newer preferred format, being smaller and more flexible. OpenFreeMap is bundling MapLibreGL for that, a popular free library that’s kind of the modern equivalent of Leaflet.