[HN Gopher] Show HN: OpenFreeMap - Open-Source Map Hosting
___________________________________________________________________
Show HN: OpenFreeMap - Open-Source Map Hosting
Hi HN, After 9 years of running my own OpenStreetMap tile server
infra for MapHub (https://news.ycombinator.com/item?id=11389989),
I've open-sourced it and launched OpenFreeMap. You can either
self-host or use our public instance. Everything is open-source,
including the full production setup -- there's no 'open-core' model
here. Check out the repo
(https://github.com/hyperknot/openfreemap). The map data comes from
OpenStreetMap. I also provide weekly full planet downloads both in
Btrfs and MBTiles formats. I aim to cover the running costs of the
public instance through donations. Looking forwards for your
feedback.
Author : hyperknot
Score : 597 points
Date : 2024-09-24 11:59 UTC (11 hours ago)
(HTM) web link (openfreemap.org)
(TXT) w3m dump (openfreemap.org)
| noahjk wrote:
| This is neat! After the huge price increase a couple years ago
| with GMaps, it looks like you've come up with a creative way to
| offer much of the same functionality for most users. It's
| unfortunate to still see small business sites to this day with
| error messages on their map widgets because of the API change
| from Google.
|
| I know nothing about mapping, but I've always had a dream of
| making a private neighborhood map which labels each house with
| people, sort of like a visual Rolodex. It would be great to have
| property boundaries, too. Do you have any suggestions for places
| to start? I don't even know what file formats would hold this
| sort of data.
| allannienhuis wrote:
| this might be helpful?:
| https://github.com/martynafford/natural-earth-geojson/blob/m...
|
| public domain map data in GeoJSON format.
|
| also, for google maps I know you can respond to interactions
| with the supplied points of interest like buildings, including
| homes, and from that point you can obtain an address via
| reverse geocoding or some other technique. I expect other
| mapping tools may have similar abilities but I don't have any
| experience with anything other than Google.
| hyperknot wrote:
| Thanks! I don't know where you'd be able to get property
| boundaries, I guess it's usually not open-source / public data?
| Probably depends on the country / city.
| ryandrake wrote:
| In the USA, parcel outlines are commonly handled at the
| county level. You can often do a search for "[your county]
| GIS maps" and find their ArcGIS map of the county property
| lines with metadata about who owns what. Who knows if any of
| them are willing to share the data, but that's where it
| lives.
| tony_cannistra wrote:
| If you live in the US, you can get parcel information from your
| local tax assessor's website, usually. Sometimes it's devoid of
| owner information. Such cases usually require going to a
| company like ReGrid or Corelogic to purchase the data.
|
| I work for a company (onXmaps) which produces user-friendly
| maps of such information. You could use our app to create such
| a "rolodex" of your neighborhood, by annotating individual
| parcels with your neighbors' information.
|
| https://onxmaps.com
| jack_riminton wrote:
| I'm relatively new to mapping, can you explain the difference
| between running Leaflet and a free map tiling provider compared
| to your product?
| hyperknot wrote:
| As far as I know, there are no "Free Map Tiling provider"-s.
| This project aims to be exactly one. You can use it with
| Leaflet using the https://github.com/maplibre/maplibre-gl-
| leaflet plugin.
| jack_riminton wrote:
| Interesting thanks, I've used map tilers in the past without
| paying, maybe I just never came up against any rate limiting
| kisamoto wrote:
| I asked the question as a top level comment but also
| duplicating here. Isn't Apache Baremaps a "free map tiling
| provider"? Or do I misunderstand what a tiling provider is?
|
| https://baremaps.apache.org/
| hyperknot wrote:
| They are providing the building blocks for making a self-
| hosted vector tiles server, they don't actually host the
| tiles.
| Coolbeanstoo wrote:
| Seems like the full world download links dont work, 404:
| https://btrfs.openfreemap.com/
| hyperknot wrote:
| CloudFlare buckets don't support indexing / directory listing,
| so you need to get the exact URL. To help with this, here is a
| file listing the content of the bucket:
| https://btrfs.openfreemap.com/files.txt
| thinkingemote wrote:
| Looks great love the free tiles and no limits or API keys.
|
| Question, why use btrfs?
| sandreas wrote:
| Afaik btrfs supports incremental send / sync very efficiently,
| so if you just want an update it saves bandwidth
| hyperknot wrote:
| So a full planet OSM extract is about 300 million binary files,
| in total about 90 GB. The most popular ways to store it:
|
| - MBTiles - an SQLite file, each file is a row in a table, you
| need a server to serve it.
|
| - PMTiles - a single file, optimised for serverless usage.
|
| - Extract them into a directory, which in practice should be on
| a partition image. This is the approach I choose.
|
| I tested ext4 and Btrfs and I choose Btrfs. The reason is how
| ext4 and Btrfs handles inodes. Btrfs handles inodes so much
| better compared to ext4, it doesn't allocate them at start and
| also allows putting tiny files right with the metadata.
|
| Because here the average tile size is only 405 bytes, most of
| the tiles can actually stored with the Btrfs metadata block.
| From the latest run:
|
| Btrfs data is 51.57GiB
|
| Btrfs metadata is 84.37GiB
| thinkingemote wrote:
| Do you think btfs would work well for old school pre rendered
| raster tiles on disk?
| hyperknot wrote:
| Yes, I think it would. Have a look at the extract_mbtiles
| script: https://github.com/hyperknot/openfreemap/blob/main/
| modules/t...
| c0nsumer wrote:
| I apologize if this is something stupid, or answered
| elsewhere, but is there a good way to trim Planet down to a
| smaller area?
|
| I've been making some custom map stuff for mountain bike
| trails and I'd really like to move to self-hosted vector
| tiles for all layers, but too much of what I find says to
| start with Planet.osm when all I really need is a State (in
| the US) or even a few-miles-wide area.
|
| (My goal is to basically snapshot OSM data, generate tiles,
| and use that until I decide to do another snapshot down the
| line, so the underlying data doesn't change. And limit it to
| a small area because that's all I need.)
|
| Examples of maps I've done this way, and want to improve,
| are: https://trailmaps.app/ramba/ and
| https://trailmaps.app/dte/
| hyperknot wrote:
| If you know the tile numbers, you can just copy them out of
| the Btrfs image.
| ahlCVA wrote:
| This sounds like a perfect application for EROFS[1]. While it
| comes from an embedded systems background, it has seen some
| usage in container use cases and is moving towards a general
| "mountable tar" application. It would also avoid the tedium
| you have to go through in shrink_btrfs.py because you can
| just generate the image out of a tree.
|
| I wanted to give repackaging the btrfs image a shot but the
| download was pretty slow - I assume your server is getting
| HN-hugged a bit so I didn't want to make it worse and stopped
| the download.
|
| [1] https://erofs.docs.kernel.org/en/latest/index.html
| hyperknot wrote:
| Thanks a lot, I didn't know about it! I also liked the fact
| that Btrfs is probably super well tested in the Linux
| kernel by now.
|
| btrfs.openfreemap.com just a public Cloudflare bucket, no
| idea why it might be slow.
| ahlCVA wrote:
| > I also liked the fact that Btrfs is probably super well
| tested in the Linux kernel by now.
|
| btrfs has certainly been around for longer, but in my
| (embedded systems only) experience, EROFS has been pretty
| solid - it's slowly being picked up by Android, so it is
| definitely seeing a lot of use in the wild (probably
| surpassing btrfs by the number of installations already).
|
| > btrfs.openfreemap.com just a public Cloudflare bucket,
| no idea why it might be slow.
|
| I'm getting 30 MiB/s (on a gigabit uplink) - not great,
| not terrible. A .torrent would be nice but I guess
| outside of being on the HN front page full-planet
| downloads by different people won't synchronize enough
| for this to be useful (and using web seeds is problamtic
| in its own right with small-ish chunks).
| nathancahill wrote:
| Would be interested in seeing a cost bar vs donations bar on the
| website.
| hyperknot wrote:
| Currently I'm paying for 3 dedicated servers at Hetzner and
| getting total donations of $11 USD per month.
|
| Making this automatic might not be easy, but I might do it one
| day, it might help with the donations.
| linsomniac wrote:
| >getting total donations of $11
|
| That total has gone up. :-)
|
| Not currently having any plans of using openfreemap, but I
| like the cut of your jib. I'm currently in the process of
| generating aerial tiles for Colorado, and updating 2 of our
| map tile sets (bitmap tiles, Here and OpenStreetMap), but at
| some point we should switch to vector tiles. When we do I'll
| try to get a business sponsorship going, but it is nearly
| impossible for me to get the company to pay for sponsorship.
| :-(
| hyperknot wrote:
| Thank you so much for your donation, it's appreciated!
| sphars wrote:
| Always on the lookout for self-hosted map servers, so I'll
| definitely try this one out.
|
| Slightly off-topic, one thing I'm having a hard time finding is
| satellite imagery. I need to self-host an offline web application
| using CesiumJS, and while I can spin up a map server, I can't
| find satellite imagery for free or cheap. I've used MapTiler[0],
| their server works great and they offer low-res satellite imagery
| for free/testing, but their high-res images are out of my price
| range.
|
| Anyone know of resources for downloading offline images of
| satellite imagery, compatible with OpenFreeMap or other server
| for use with CesiumJS? Doesn't have to be super recent images but
| would be nice.
|
| [0]: https://www.maptiler.com/
| hyperknot wrote:
| Satellite images are definitely expensive, they are by far the
| biggest cost for MapHub. I spend more on satellite images per
| month than on servers. I couldn't find a high quality satellite
| images from free sources.
| kisamoto wrote:
| Currently researching this myself? Have you explored the
| satellite images from ESA/NASA? They are painful to discover
| but they're available to download for free and fairly (3-6
| months) up to date.
| sphars wrote:
| I have, though admittedly not deeply enough. Agreed about the
| discoverability though, I never could quite find what I'm
| looking for (and perhaps I don't know exactly what I'm
| looking for)
| zarazas wrote:
| I would be interested in the differences between this and
| protomaps
| hyperknot wrote:
| I'll write a detailed blog post for that, definitely.
|
| Basically Protomaps / PMTiles allows you to do this serverless,
| but it has it's downsides.
|
| There are two ways to use PMTiles with Cloudflare:
|
| - Putting the file in a public bucket and use HTTP range
| requests.
|
| - Deploy a worker to access it.
|
| For the range request version, you can test PMTiles here: https
| ://pmtiles.io/?url=https%3A%2F%2Fdata.source.coop%2Fpro....
|
| It loads in 8-10 sec for me on a cold start. Of course it gets
| faster if many of us try to request it at the same time, but if
| you check it once per day for example, it'll be really slow, up
| to 10 sec.
|
| Compare that with OpenFreeMap here:
| https://openfreemap.org/quick_start
|
| It's near instant for me. (I know it's not full screen but you
| can make the app and then see how it's in full screen).
|
| For the Cloudflare Workers version, I didn't find any publicly
| available full planet test, so I don't know the performance,
| but Workers are not free. It might not matter for a small
| project, but the $0.30/million requests per month can easily
| add up if your project gets popular.
|
| In terms of OpenFreeMap, hosting it on a Cloudflare Worker
| would be prohibitively expensive.
| bdon wrote:
| I'm the developer of Protomaps, to summarize:
|
| The latency you see on https://pmtiles.io/?url=https%3A%2F%2F
| data.source.coop%2Fpro... is representative of how PMTiles
| works on AWS S3, coming from the us-west-2 region. It will be
| reasonable to load for those in the western US and likely
| quite slow from Europe or Oceania.
|
| If you want to make a direct comparison of Protomaps to
| OpenFreeMap, you need to compare serving OpenFreemap with
| NGINX from btrfs on disk, to running `pmtiles serve` on a
| `.pmtiles` file on disk, as described here:
| https://docs.protomaps.com/deploy/server
|
| The OpenFreeMap page for me (in Taiwan) takes 1-2 seconds per
| tile, which is more than double the load tile for the PMTiles
| in us-west-2 example linked above.
|
| The best solution to get latency competitive with commercial
| providers, for a global audience, is to cache tiles at CDN
| edge locations. I describe automated ways to do that with
| Cloudflare Workers and AWS Lambda + Cloudfront here:
|
| https://docs.protomaps.com/deploy/cloudflare
| https://docs.protomaps.com/deploy/aws
|
| I'm also experimenting with http://tigrisdata.com which lets
| you geo-distribute a static storage bucket like in this
| example: https://pmtiles.io/?url=https%3A%2F%2Fdemo-
| bucket.protomaps....
| hyperknot wrote:
| No, the ping is 150 ms to us-west-2, and the tiles load in
| like 5 seconds on a cold start. Of course we cannot test
| cold start on HN comments because HN is the definition of
| hot :-)
|
| I can imagine workers to be fast, it's the range requests
| which are super slow. It's also outside of your control, it
| depends on how Cloudflare and S3 handles range requests to
| 90 GB files.
|
| I think if you could make PMTiles split into files <10 MB,
| it'd be perfect with range requests.
| bdon wrote:
| I agree, there are tradeoffs to using static storage -
| the intended audience for PMTiles is those that prefer
| using static sites instead of administering a Linux
| server.
|
| I would be interested to see a comparison of Btrfs +
| nginx serving latency, vs `pmtiles serve` from
| https://github.com/protomaps/go-pmtiles on a PMTiles
| archive on disk. That would be a more direct comparison.
|
| I think there's potentially some interesting use case for
| tiles in Btrfs volumes and incremental updates, which I
| haven't tackled in PMTiles yet!
| hyperknot wrote:
| I think both solutions could easily saturate a 1 Gbps
| line. I benchmarked Btrfs + nginx and it could do 30
| Gbps, which doesn't really make a difference if your
| server is 1 Gbps only.
|
| The fact that there is no service running was the more
| important for me. Mostly for security and bugs. I had so
| many problems with various tile servers in production,
| they needed daily restarting, they had memory leaks, etc.
|
| Basically I wanted to go nginx-only for security and to
| avoid tile server bugs.
| bdon wrote:
| I see, I think that's a good approach to enable serving
| with stock nginx as well as for companies that are built
| on Nginx or a plain HTTP serving stack already.
|
| For PMTiles the module is loadable directly as a Caddy
| plugin
| (https://docs.protomaps.com/deploy/server#caddyfile)
| which I prefer to nginx for security and bugs (and
| automatic SSL), and also enables serving PMTiles from
| disk or a remote storage bucket without a separate
| service running.
| hyperknot wrote:
| Yes, PMTiles with the Caddy plugin is very similar to
| nginx + Btrfs.
|
| At that point, the difference between the two projects is
| mostly which schema is being used.
| tecleandor wrote:
| You both specify the filesystem to be Btrfs. Is there any
| advantage in this case against ZFS, ext4, XFS... or is it
| just a practical choice?
| hyperknot wrote:
| Yes, small files can fit in the metadata, which makes a
| super big difference when you have 300 million files of
| 405 bytes each. Also, inode handling is way better
| compared to ext4.
| NKosmatos wrote:
| Thanks for this free service Zsolt. I hope it's not abused (too
| much traffic) and that donations from real users fund this very
| good initiative ;-)
|
| On a related subject, I remember seeing MapHub sometime ago and I
| have it in my bookmarks for one of my (forgotten?) projects.
| Whenever I find some free time I need to sit down and try the
| free tier to see if it will do what I have in mind.
| hyperknot wrote:
| Thanks a lot for your words! I'm also curious whether the
| donations will be able to cover the bandwidth costs. Currently
| I'm paying for 3 dedicated servers at Hetzner and getting a
| total of $11 per month from donations.
| mannyv wrote:
| FYI if you need a CDN you can get bulk pricing from fastly with a
| monthly commitment.
|
| I'm not sure if their hosting works for you because you might be
| serving byte ranges. I think we're paying 2k/month usd for like
| 300TB/month. Backblaze-to-fastly is free, so no egress.
|
| Love your project, more power to you. I'll be using this for a
| few side projects for sure.
| hyperknot wrote:
| At Hetzner, the bandwidth is unlimited in theory. In practice,
| there are stories of terminating accounts of those who used too
| much.
|
| I don't think this project will ever make $2k per month. TBH,
| I'd be happy it it ever reaches $200 per month. I have to be
| very careful about what hosting providers to use and CDNs are
| out of the question.
| wongarsu wrote:
| I don't think it's still offered anywhere in the web
| interface, but Hetzner offers servers with 10Gbit uplink,
| with traffic charged at 1EUR/TB. Depending on resource usage
| this can be more cost effective than renting multiple
| servers, and paying for your traffic should prevent account
| termination for excessive traffic use.
|
| https://docs.hetzner.com/robot/dedicated-
| server/network/10g-...
| j45 wrote:
| I wonder if other CDNs can help.
|
| In addition to Cloudflare, bunny was on the radar too.
| hyperknot wrote:
| Bunny is also $10-$60/TB/month.
|
| I believe Hetzner should not have any problem with using 100
| mbps out of the 1 Gbps on their servers. That's 30 TB/month
| for free, per server. It'd be $300-$1800 per month on Bunny.
| tiluha wrote:
| For this use case i would use the bunny volume tier which
| is $5/TB
| bauruine wrote:
| That's still an order of magnitude more than what you can
| get with rented servers. I pay between 0.2 and 0.4 per TB
| doing nearly 2000TB a month.
| j45 wrote:
| Agreed. Getting a dedicated fibre link colocated is a
| great way to backfill and push the free tiers of CDNS.
|
| Just like the cloud becoming easier to run on your own
| environments, tons of bandwidth is accessible too.
| maxmcd wrote:
| Hey, just curious. If you have no Cloud/LB/CDN how are you
| routing requests to datacenters? Anycast? DNS? Something else?
| hyperknot wrote:
| Round Robin DNS. The browser selects the best server, based on
| ping or some other internal metric.
|
| Also thanks for the donation!
| sylware wrote:
| The main issue: once a map service has enough success, it will
| require significant bandwidth resources which only Big Tech can
| afford.
|
| P2P? Well, there is always the issue of trust.
| cheeaun wrote:
| Very curious to know more about this, regarding PMTiles:
|
| > Unfortunately, making range requests in 80 GB files just
| doesn't work in production. It is fine for files smaller than 500
| MB, but it has terrible latency and caching issues for full
| planet datasets.
|
| Wondering which part incurs the latency here.
| hyperknot wrote:
| I explained a bit about PMTiles in this comment:
| https://news.ycombinator.com/item?id=41636376
|
| In summary, on a cold start (so now when it's on HN it might be
| totally meaningless), the following page loads in like 8-10 sec
| for me:
| https://pmtiles.io/?url=https%3A%2F%2Fdata.source.coop%2Fpro...
|
| Technically why it's slow is entirely on CloudFlare, so I can
| only guess. But probably they are not mirroring files of this
| size across their datacenters / servers. I don't know how their
| public buckets hosting is done, but it's definitely very slow.
|
| OpenFreeMap on the other hand seems almost instant for me.
| bdon wrote:
| See my response here:
| https://news.ycombinator.com/item?id=41638031
| wongarsu wrote:
| I understand you don't plan to make money, only to cover costs.
| Nevertheless, I believe you would benefit from a more explicit
| "business plan". Your Gold support plan kind of fulfills that
| purpose (email support and an invoice), but right now it's kind
| of hidden in the middle of a donation request, and flavored as a
| donation. You might convince a lot more mba-type people to
| support you if you also extend the same offer under a heading
| like "business plan" (where you make it clear that commercial use
| is free, but you can subscribe to this totally-not-a-donation
| plan for email support)
| jszymborski wrote:
| I second making a very generous free tier, and then charging
| reasonably for more requests in wide buckets.
|
| As a user, free or paid, it'd give me a lot more faith in this
| living past tomorrow.
| hyperknot wrote:
| I definitely not want to charge for requests, that's the
| founding principle of this project.
|
| And the risk of this project is largely mitigated by offering
| the full repo as open-source, so you can always self host
| this if needed.
| wongarsu wrote:
| If you don't want to charge per request, you could also
| offer two pools of backend servers: free servers that are
| provided on a best-effort basis with fair-use-policy, and
| paid servers that are exclusive to people in the $150/month
| plan.
|
| The latter should be easier to manage with more predictable
| traffic, while giving you more leeway to deal with abuse on
| the free servers if it ever becomes an issue.
| hyperknot wrote:
| Yes, I was thinking about that, it might actually be a
| good idea. Provide a premium service with SLAs, while
| providing the SLA-less service for free, with two pool of
| servers.
| hyperknot wrote:
| Do you think it'd be more clear to only accept donations on
| GitHub Sponsors and only offer actual support plans on the
| website? I mean actual email support, helping companies migrate
| their existing map stack to OpenFreeMap.
| 3np wrote:
| Would be super cool if you have a bitcoin and/or monero
| option. Even if just address for donations and not as payment
| for support.
| nelsonic wrote:
| 100% keep sponsorship separate from paid support.
| hyperknot wrote:
| Thanks, I've thought about it and rewritten the whole
| donations / sponsorships / support plan section. What do
| you think?
| gmiller123456 wrote:
| The problem with putting different options in different
| places is that a lot of people will only ever see one of the
| options.
| lacoolj wrote:
| If you aren't doing this for a living and getting paid for
| it, or having someone else do it, you should reconsider
| either A) providing the support or B) how you make money.
|
| You may think it noble to "only take donations" just to pay
| the hosting cost, etc. but providing people support is a
| completely different thing. People are stupid, needy and
| inconsiderate of your time, feelings and experience.
|
| If you don't want to run ads, great! But your time should be
| compensated fairly as well. You should be charging businesses
| for things, with a substantial cost for substantial work.
| Charging a business is not the same as charging an end user
| and you should not be averse to doing so.
| dheera wrote:
| To be honest I don't see the problem with making commercial use
| non-free.
|
| (a) They're making millions, you deserve a cut of that.
|
| (b) If making money makes you more likely to be around in 10
| years, that's attractive to businesses. Nobody knows when your
| donations might suddenly dry up.
| hyperknot wrote:
| The thing is that hosting this really isn't that expensive.
| My first GitHub Sponsors goal is to reach $175 per month,
| which would cover the hosting on Hetzner. Of course this cost
| can grow if the project gets more popular, but it's a good
| start!
|
| I honestly believe this project can cover $175 per month
| eventually.
|
| Of course there is the countless hours which went and which
| can possibly go into this, but to cover the hosting is still
| meaningful.
| dheera wrote:
| I mean, sure, but
|
| Let's say 1 year from now your day job gets toxic and you
| have to work 18 hours a day just to pay your rent and
| expenses. Are you still going to maintain this?
|
| What if the economy goes to shit and you have trouble
| scraping that $175/month? How long are you going to pay
| $175/month for something that isn't making money?
|
| What if, instead, this became a part-time job of yours?
|
| If I was a commercial user of your product, some assurance
| that your random personal situations aren't going to affect
| the product stability for a long time would be a good
| thing.
| jenny91 wrote:
| I really like the idea.
|
| Why OMT instead of protomaps? The latter is clearly where the
| community is moving towards (albeit very slowly).
|
| I'm somewhat sceptical about the "free with no API keys" idea. I
| guess your service is not guaranteed to be up so no one too big
| will rely on it. But what if you start getting abuse or someone
| using them on some humongous site (e.g. one of those cheap
| restaurant email builders that always embed a map), and you start
| getting way too much traffic from random sources and websites.
| What would you do?
| l3x wrote:
| From the FAQs on GitHub [1]
|
| > What about PMTiles?
|
| > I would have loved to use PMTiles; they are a brilliant idea!
|
| > Unfortunately, making range requests in 80 GB files just
| doesn't work in production. It is fine for files smaller than
| 500 MB, but it has terrible latency and caching issues for full
| planet datasets.
|
| > If PMTiles implements splitting to <10 MB files, it can be a
| valid alternative to running servers.
|
| [1] https://github.com/hyperknot/openfreemap
| mistrial9 wrote:
| ok except "full planet datasets" make little sense for
| terrestrial features. Splitting .. aka sharding the files
| into basic continents would make SO much sense. Asia is big,
| but no requests for Africa mixed in.. Australia would be
| manageable?
| hyperknot wrote:
| PMTiles could come up with a version in the future where
| instead of one 90 GB file, they have 9 thousand 10 MB
| files. That would work well I believe.
| bdon wrote:
| The latency for small files and ranges of large files is
| pretty similar on most storage platforms, but there are
| some exceptions like Cloudflare R2.
|
| The main reason PMTiles is one file and not two or more
| files is that it enables atomic updates in-place (which
| every mature storage platform supports) as well as ETag
| content change detection in downstream caches. All of the
| server and serverless implementations at
| http://github.com/protomaps support this now for AWS,
| S3-compatible storage, Google Cloud, and Azure.
| wcedmisten wrote:
| Now I'm curious, what causes the latency for range
| requests with R2?
| bdon wrote:
| See my response here:
| https://news.ycombinator.com/item?id=41638031
| hyperknot wrote:
| So Protomaps is a really full stack map platform, they are
| competing with kind of like 3-4 projects at once:
|
| - There is the Protomaps schema. It's competing with
| OpenMapTiles and Shortbread (https://shortbread-tiles.org/)
|
| - There is the Protomaps file format. It's competing with
| MBTiles and say Btrfs images in OpenFreeMap.
|
| - There is the Protomaps styles. It's competing with OSM
| Liberty and OSM Bright styles (https://github.com/maputnik/osm-
| liberty)
|
| - There is the way to host the tiles, on CloudFlare workers,
| range requests, etc. It's competing with MBTiles servers or
| OpenFreeMap's nginx servers.
|
| About getting abuse, how do you imagine it gets abuse? It's a
| static file showing OpenStreetMap data.
|
| I mean traffic is the only thing what can be a problem, but I
| think Hetzner should be good till 30-100 TB per server.
| bauruine wrote:
| I did 150TB+ on a 40 Euro Hetzner server for years without
| any issue and also did the same amount in a similar price
| range on multiple different providers. The cloud and CDNs
| charge a huge markup.
| hyperknot wrote:
| That's great to know! I know of one story where someone got
| terminated on Hetzner because of the bandwidth but it
| turned out he was also running a Tor node.
| bdon wrote:
| 1) The Protomaps schema is mostly a re-implementation of the
| Tilezen project https://tilezen.readthedocs.io/en/latest/
| which is a linux foundation project. OpenMapTiles, which
| OpenFreeMap uses, while open source, does not have a license
| that encourages derivative works or enables distributing
| styles under a standard FOSS software license
| (https://www.npmjs.com/package/protomaps-themes-base). That's
| also one motivation for developing Shortbread which is at
| this point less developed than Tilezen.
|
| 2) The file format (PMTiles) addresses a different audience
| than either MBTiles or Btrfs images. Both of those require
| administering a server for tiles, while PMTiles requires
| static blob storage and nothing else. You do have the option
| of using a server like MBTiles/btrfs which ought to be
| comparable in latency, and that's documented here:
| https://docs.protomaps.com/deploy/ as well as Lambda,
| Cloudflare Workers, Google Cloud Run and Azure Serverless
| functions.
|
| 3) There are no existing styles for MapLibre GL that work off
| the Tilezen layer, generalization and tagging scheme, so we
| need to develop one style, with multiple themes.
| maelito wrote:
| > OpenMapTiles, which OpenFreeMap uses, while open source,
| does not have a license that encourages derivative works
|
| Can you elaborate on this ? I'm derivating OMT and am quite
| worried now ^^
| bdon wrote:
| OMT use a CC-BY license:
| https://creativecommons.org/faq/#can-i-apply-a-creative-
| comm... (edit: link)
|
| This means that software that implements OMT, even if
| written from scratch, cannot be re-used by other FOSS
| projects (Apache, BSD, GPL, AGPL, other software in the
| OpenStreetMap ecosystem, etc) without affecting the
| license.
|
| Ideally for Protomaps it should be possible to re-use
| just one portion - like only the label layer with your
| own layers from other sources, or even bundle it as a JS
| dependency in another open source project - without
| affecting the license of downstream projects.
| dvdkon wrote:
| Are you talking about just the OpenMapTiles spec, or some
| adjacent software? I'm certain that you can build
| software to some specification without ever agreeing to
| the spec text's licence, and that a CC-BY licenced spec
| doesn't limit any implementing system's licence.
|
| Even so, CC-BY is permissive and you could include CC-BY
| content in a, say, GPL project. You just need to include
| both licences.
| SebaSeba wrote:
| Seems like a great service! We could definitely consider this as
| an viable option for our startup's application. I am not an
| expert regarding the OSM data and maps in general, but how
| customizable is your library, can I somehow relatively easy add
| housenumbers of the addresses from OSM data on the buildings in
| the map?
| hyperknot wrote:
| This is totally customizable and the house numbers are already
| present in the original data, it's just not displayed in the
| default styles. You can customize the style by using the
| Maputnik editor, house numbers are visible in the "Inspector"
| view.
| https://maputnik.github.io/editor?style=https://tiles.openfr...
| mike_d wrote:
| I absolutely love this project and had a similar idea on my todo
| list for a while because I agree there should be at least one
| free open map provider with a developer friendly stack.
|
| If you want free servers/bandwidth around the world, hit me up.
| My email is in my profile.
| hyperknot wrote:
| Thanks a lot for the offer, I'll definitely reach out!
| timmg wrote:
| Just want to say thank you for making this project. I think
| there's a good chance I will use it for a (very low bandwidth)
| personal project.
| hyperknot wrote:
| Thank you very much, and also thank you for your donation!
| komali2 wrote:
| I'll be using this this Sunday for a project for a g0v civic
| hackathon. You solved a problem we had been discussing today.
| We were going to use protomaps instead https://protomaps.com/
|
| The pitch for the project is here if anyone in Taiwan is
| interested in joining:
| https://hackmd.io/7K4kLkseTYCPI7DWoNv5mA?view
|
| Hackathon info:
| https://g0v-jothon.kktix.cc/events/g0v-hackath63n
| jsilence wrote:
| Anybody know of a similar service for weather information?
| xd1936 wrote:
| US-only, I've had good luck with the NWS JSON API[1]. Someone
| posted a while ago on here[2] about taking in various NWS
| models and creating "Pirate Weather"[3], a drop-in replacement
| for Dark Sky.
|
| 1. https://www.weather.gov/documentation/services-web-api
|
| 2. https://news.ycombinator.com/item?id=34329988
|
| 3. https://pirateweather.net/
| vanillax wrote:
| I know the github says docker free.... What would it take to
| dockerize so people can self host, say on kubernetes.
| hyperknot wrote:
| Someone making a Docker image from this. Instead of using
| Fabric's commands like c.sudo('git clone ...') it'd use the RUN
| commands.
|
| I think it would be quite a straightforward task to transform
| it into a Docker file. I'd be happy to link to it on GitHub.
| the-rc wrote:
| Hard links are to deduplicate identical tiles, right? How much
| does that save and how close is the tile with most links (empty
| one(s)?) to the filesystem limits? Inquiring minds want to
| know...
| hyperknot wrote:
| Yes, exactly, it's to save space. For example there is one such
| tile for "ocean", which covers 70% of earth.
|
| In total, there are 271 million hard links. So out of 300
| million files 271 are hard links!
|
| The file system limit is 64k hard-links for the same file, so I
| have to handle the case when it's reached and then start a new
| file for the next 64k.
| mdaniel wrote:
| > The file system limit is 64k hard-links for the same file
|
| I had never heard that, so I went sniffing around and it
| seems to be ext4 specific[1] but I wasn't able to easily get
| the limits for ZFS (or xfs, etc), so depending on how much
| glucose one wished to spend it may be better to use a
| different FS than all that renaming work around
|
| 1: https://en.wikipedia.org/wiki/Hard_link#Limitations
| hyperknot wrote:
| The whole extract_mbtiles.py file is 97 lines of code. This
| contains parsing MBTiles, writing metadata and some CLI
| specific lines. It's actually quite a concise script for
| doing this while taking care of the hard-link limits.
| fegu wrote:
| Just out of curiosity, is there no clever way to solve this
| within nginx with rules instead?
| jaakl wrote:
| In nutiteq mobile maps SDK (later Carto, now abandonware)
| we used specifically compressed bitmap to represent 'water'
| and 'empty land' tilemasks to cover these two special
| cases. We provided planet-scale mobile embedded mbtiles
| package in 30GB if I remember well. This tile mask (quite
| instant bitmap index) concept should work well for server
| case also.
| hyperknot wrote:
| The Linux kernel's filesystem cache is actually really
| efficient at doing this. I doubt we could come up with a
| nginx scripting solution which could be equally efficient.
| anthk wrote:
| I miss some libre client for Google's Street View. On 3D maps,
| adapting Marble for OSGEarth should be a piece of cake.
|
| If not, declaring one with IMGui+layers can be done in a week
| from any experienced C++ programmer. The included demos for
| OSGEarth already depict a minimal client with impressive 3D maps
| for a nearly non-supported demo.
|
| I think KDE/Plasma lost a great oportunity there by not adopting
| OSGEarth.
| maelito wrote:
| What would be the aim of a libre client for Google's SW ?
| Street View API is quite expensive.
|
| Do you know about https://panoramax.fr ?
| lipitic wrote:
| This is amazing!
|
| Last year I made a website for my gf where I had to build a
| custom map of Paris, and I struggled a lot trying to figure out
| how to actually make a map from scratch while avoiding paid
| services like mapbox.
|
| I finally managed to hack something up using openstreetmap data,
| then some manual work in QGIS to customize the look, and voila -
| I had a bunch of folders filled with raster tiles.
|
| This site is deployed for free on Netlify and is basically just a
| React SPA, a public folder with tiles, and I give the tile URL
| template to the OpenLayers lib to display it all nicely on the
| screen. Simple and it works!
|
| I always wanted to improve the map a bit by using vector tiles as
| I think it looks nicer, but I thought you need a dedicated server
| for that? (unless I'm mistaken, correct me if I'm wrong)
| hyperknot wrote:
| Yes, you need a dedicated server with 128 GB RAM to generate
| the tiles. For hosting the tiles, you can use anything with 300
| GB disk space, CPU is not important.
| adhamsalama wrote:
| Very interesting, I might try this at $WORK.
| baggachipz wrote:
| I currently use the cyclosm[1] as a tile map for my small web
| app. I'd love to use OpenFreeMap instead, as cyclosm is quite
| slow. Is there any way I can do this for bicycle maps? Awesome
| project.
|
| [1] https://www.cyclosm.org
| hyperknot wrote:
| What you need is a bike specific style for OpenMapTiles schema.
| Maybe you can find it on GitHub. Once you have the style, you
| can use Maputnik to tune it to your liking like on this link:
| https://maputnik.github.io/editor/#0.84/0/0
| baggachipz wrote:
| I found this[2] but I wouldn't know the first thing about how
| to integrate it, stand it up, serve it, and consume it with
| leaflet. I'll admit, the world of OSM is quite a labyrinth.
|
| [2] https://github.com/cyclemap/openmaptiles-cycle
| maelito wrote:
| As far as I know, no vector equivalent of cyclosm has been
| made. OpenMapTiles's data are too poor ("compressed" :
| different cycle way types are summarized in a unique tag) to
| make a great cycle map.
| kisamoto wrote:
| I am currently exploring the open source mapping world and trying
| to get a better grasp of what's available.
|
| How does this project compare to Apache Baremaps (incubating)?
|
| https://baremaps.apache.org/
| hyperknot wrote:
| They are providing the building blocks for making a self-hosted
| vector tiles server, they don't actually host the tiles.
| swijck wrote:
| I've been waiting for a good alternative to the paid map
| providers for a while but none of them have really hit near the
| level of feature parity I needed to be a good enough replacement.
| maelito wrote:
| Related : I'm building https://github.com/laem/cartes, an
| alternative to Google Maps.
|
| On top of a custom protomaps tileset and a few other MapTiler
| options (such as satellite and hiking), it packs a search engine,
| a basic OSM place UI, transit calculators (walk, bike with
| profiles, transit, car), small features like ruler and favorites,
| transit maps, photos of places, place search by categories, and
| the French open source street view Panoramax.
|
| Of course, given the scope, its alpha software.
|
| It's built locally for France and French speaking users, though
| most of the code is English, some data sets are not. I'm spending
| ~ 50 % working on transit, lots need to be done.
|
| You can test it here : https://cartes.app.
|
| The aim is not to provide map tiles as an API to other project,
| but to build a UI on it.
| ivanjermakov wrote:
| Oh, there is another pal who's streaming making his own maps,
| fairly entertaining:
| https://youtube.com/playlist?list=PL980gcR1LE3L8RoIMSNBFfw4d...
| maelito wrote:
| Thanks ! I've thought about making an "education" project but
| it takes time, and after 9 months of working on it I'm now
| convinced it's possible to build a basic Gmaps alternative in
| a few years. Business model still missing though !
|
| Edit : just watched some minutes, he's rebuilding low-level
| components, like route finding. Impressive stuff but not
| quite user-friendly.
| ivanjermakov wrote:
| > not quite user-friendly
|
| Yes, it does not seem like he makes a business or a product
| for a wide audience. It's more about exploring the unknown,
| teaching programming and being entertaining.
|
| Although I adore such ambitious projects that seem
| insurmountable at the first glance.
| hyperknot wrote:
| Wow, now that's an ambitious project! I wish you a lot of
| success with it!
| maelito wrote:
| Thanks ! It consists of using more focus initiatives like
| yours and bdon's :)
| zaik wrote:
| Wow this is one of the best Google Maps clones I've seen so
| far. Is there a plan to translate the UI into other languages
| than French? I would be willing to help out, if there is a
| Weblate interface or something similar.
| maelito wrote:
| Thanks ! I've raised this issue. Short : nothing yet.
|
| https://github.com/laem/cartes/issues/574
| iudqnolq wrote:
| I see you're sourcing images from Wikimedia. Have you found any
| other good sources? I'm working on indexing images by place
| taken for my own project and am primarily very slowly and
| jankily enumerating the flickr API. (You can see
| https://plantopo.com/geophotos for a pre-alpha view of where I
| have coverage. Zoom in where there are blue dots and click the
| map to search. Don't click Oregon or Washington because of a
| bug I'm working on)
|
| Are you using opentripplanner for routing?
| maelito wrote:
| Wikimedia is a totally underrated source of photos.
|
| The problem is filtering good ones. See my PR of the day,
| where I'm using only the images that are featured on
| Wikipedia pages. It gives better results than google maps in
| lots of places. Also some weird pictures like logos but I'm
| confident they can be ruled out.
|
| Your map is cool !
|
| https://plantopo.com/geophotos#13.92/50.91621/-1.37752
|
| https://cartes.app/?photos=oui#13.92/50.91621/-1.37752
|
| With this second link you'll understand the why of my PR :
| there's just too many Wikimedia photos ^^
|
| Edit : PR merged, you'll see less photos in 1 minute
| https://github.com/laem/cartes/pull/611
| maelito wrote:
| > Are you using opentripplanner for routing?
|
| No, Motis. I picked the first I could install on my computer
| at the time. Turns out, it's a very promising project.
|
| But switching to OTP wouldn't be such a problem. GTFS in,
| JSON out. It's a one day work change for basic
| functionnality.
| curzondax wrote:
| Alternative: https://versatiles.org/
| Hypnosis6173 wrote:
| Just saw a german Talk about this yesterday.
|
| Versatiles provides a free and open to use Server under
| tiles.versatiles.org which is sponsored by People around the
| CCC.
|
| Versatiles is also the First to offer a free to use vector card
| server, which is also amazing.
|
| (For the German Readers:
| https://media.ccc.de/v/ds24-406-versatiles-freie-karten-
| fr-a...)
| hyperknot wrote:
| Yes, Versatiles is a nice truly open project! One of the long
| term plans for OpenFreeMap is to migrate to Shortbread +
| Versatiles styles.
| khobragade wrote:
| Awesome! Moreover, I love how hyperknot is engaging with the
| people and the feedback :) This is super inspiring.
| wkat4242 wrote:
| How much disk space do you need to host it?
| hyperknot wrote:
| I'd recommend at least 200 GB.
| wkat4242 wrote:
| Thanks! That's a lot less than I expected.
| jnettome wrote:
| Right on time! Thank you and congratulations for your release. I
| was looking for gmaps and mapbox alternatives this morning and
| right now I'm considering this.
| sorenjan wrote:
| This is really cool, I'll definitely look at this if I need to
| embed a map in the future. Are there any libraries that lets you
| plot geographic data on top of this in Python, with Matplotlib or
| similar?
|
| Slightly off topic, but how come there doesn't seem to be any
| open projects using the Overture maps data?
|
| > Overture is a data-centric map project, not a community of
| individual map editors. Therefore, Overture is intended to be
| complementary to OSM. We combine OSM with other sources to
| produce new open map data sets. Overture data will be available
| for use by the OpenStreetMap community under compatible open data
| licenses. Overture members are encouraged to contribute to OSM
| directly.
|
| Sounds like it would be a good data source, or am I missing
| something?
|
| https://overturemaps.org/about/faq/
| wcedmisten wrote:
| Overture is an awesome resource because it has more coverage
| than OSM, but at the cost of accuracy. When I was considering
| using it for restaurants in surprisedatespot.com, I found that
| it has a lot more automated content with bad geocoding
| (imprecise locations) compared to OSM.
|
| E.g. restaurants can come from an old Facebook page and the
| geocoding might not be accurate compared to a survey.
|
| So where OSM might have a restaurant that closed 8 years ago,
| overture has every restaurant that's been at that location for
| the past 8 years.
| richiebful1 wrote:
| Folium is a useful library for plotting geographic data in
| Python. It generates a webpage with the map data displayed with
| Leaflet.js
|
| https://python-visualization.github.io/folium/latest/
| https://leafletjs.com/
| kylebarron wrote:
| I develop Lonboard [0], a Python library for plotting large
| geospatial data. If you have small data (~max 30,000
| coordinates), leaflet-based Python libraries like folium and
| ipyleaflet can be fine, but because Lonboard uses deck.gl for
| GPU-accelerated rendering, it's 30-50x faster than leaflet for
| large datasets [1].
|
| [0]: https://developmentseed.org/lonboard/latest/
|
| [1]: https://developmentseed.org/lonboard/latest/how-it-works/
| RagnarD wrote:
| If it does a good job, somebody should get paid for it. I
| wouldn't rely on using this if it depends on donations (I call
| this begware). People expect to pay for services and products.
| patrickaljord wrote:
| it says you can host it yourself and that he may offer a paid
| hosted plan in the future
| dawnerd wrote:
| In that case just use one of the many map tile providers
| already out there. This is huge for people that don't want to
| pay but also can't justify using that much server resources
| just to self-host.
| bdjsiqoocwk wrote:
| > I call this begware
|
| So disrespectful and so ignorant. You rely on free software
| without even knowing it but are happy to not dig around much
| and benefit from it. But heres a new project and you call it
| begware.
|
| If you have nothing nice to say, don't say anything at all.
| hyperknot wrote:
| My main project is MapHub, it gives me my income. It's not an
| income like you'd get in a FAANG job, but still, I'm running it
| for making a living.
|
| For MapHub to work, I had to invest in my own tile server
| infrastructure: there is no way I could have made MapHub
| financially profitable with a 3rd party tile provider. So I
| kept iterating and iterating on the tile server infrastructure
| and after 9 years I arrived at a state which was worth open-
| sourcing.
|
| I'm happy if this project gets to the point from sponsorship
| where my hosting bill is covered ($175 per month), but it
| doesn't have to be financially successful on its own.
|
| I'll keep working on it because it's part of my main business,
| not because I beg for donations.
| tomarr wrote:
| Have you been running this for long? I've looked for
| something in this space for the last couple of years but only
| came across MapTiler /AGOL and a few others, that were either
| pretty expensive (for small datasets) or restrictive
| functionality.
|
| If so I'd say you need to work on the SEO and findability
| side.
| hyperknot wrote:
| I've literally just launched it.
| Aeolun wrote:
| As long as it stays with one server that's fine. But what do
| you do in the hypothetical scenario that Facebook decides to
| use your tile server?
|
| Nginx is fast, but I think that's asking too much of it.
|
| Of course that problem hasn't happened yet, but it's what I'd
| be worried about.
| hyperknot wrote:
| I benchmarked and nginx can host 30 Gbps on cold cache, on
| actual real world load. (I played back a log of 1 million
| real world requests).
|
| So using nginx in a 1 Gbps server is definitely not asking
| too much of it, or I might not have understood your comment
| clearly.
|
| Why would Facebook decide to use my tile server? When a
| company's business depends on having reliable map tiles,
| they either self host or have an Enterprise deal with
| Mapbox, etc.
| yazzku wrote:
| > (I call this begware)
|
| This only reflects how fucking stupid you are. If you read the
| post in any detail, you'd realize the author has been running a
| paid service for a while (9 years) and does not need your help.
| btbuildem wrote:
| Very cool, love the various tile sets (especially the 3d layer!)
|
| One thing that tripped me up is the zoom -- the affordance for
| zoom in/out across most other mapping UIs is via mouse motions --
| how come in your demo it's restricted to the +/- buttons? Perhaps
| I missed something...
|
| Thanks for sharing this, looks very neat.
| mholt wrote:
| That's something that most tile viewers let you customize in
| the code. Sometimes you want to disable scroll wheel zoom so as
| to not interrupt page scrolling, like when the map takes up a
| large portion of the width of the page.
| hyperknot wrote:
| On the main page I disabled scroll zoom, because it hijacks
| your scroll and literally you cannot scroll through the map. It
| makes sense for full-screen maps only.
|
| Of course, you have 100% control over exactly what controls you
| configure with MapLibre, when you set up your app.
| btbuildem wrote:
| Ah nice, of course it's configurable :)
| mholt wrote:
| Something I'd be willing to pay for is _historical_ tiles /data.
|
| I'm writing an application that lets you view historical data,
| and the problem is that most/all map services show only current
| data. It would be nice if the map reflected the year of the data
| we're layering on top.
|
| So if you want to make some money, there's an option for you!
| wcedmisten wrote:
| Have you heard of:
|
| https://www.openhistoricalmap.org
|
| I don't think you can pay for it, but I'm sure they'd accept
| donations!
| petre wrote:
| Interesting but not entirely accurate. Moldova has not
| existed as a state until 1991, after the dissolution of the
| USSR but it shows up on the map after WW2.
| pininja wrote:
| The great thing about open map projects is that they can be
| updated, and store a historical edit log along with
| discussions and sources for each change.
| uneekname wrote:
| As with other community projects such as Wikipedia or OSM,
| OpenHistoricalMap relies on keen-eyed volunteers such as
| yourself to improve their database!
| uneekname wrote:
| The key problem here is a lack of accurate data. OSM is
| amazing, but is constantly getting improved and closer to
| realtime "ground truth." Historical OSM data is usually worse
| all-around, rather than "equally good, but as of year XXXX"
|
| Perhaps there is a different dataset with better historical
| accuracy than OSM, but I do not know of one. You'd likely have
| to reduce your scope: trails in a specific park? Roads in a
| specific city?
|
| As another commenter notes, there is a sister project
| OpenHistoricalMap that focuses on mapping historical data. It
| is rather sparse compared to OSM, but super fun to explore
| around e.g. NYC.
| runxel wrote:
| As a hobby historian (not really haha) I'm interested in old
| streets and names particularly.
|
| Especially here in Europe / Germany, where entire quarters
| where bombed to rubbles newer streets do not match neither
| namely nor spatially.
|
| I loved how you could "move back in time" in street view. I
| think that has been killed too? There is a lovely Twitter/X
| account for Detroit tho: https://x.com/DetroitStreetVu
| spl757 wrote:
| I think this is great, and also that you are getting some good
| advice in the comments about covering costs and/or monitization.
| I'd add my thoughts, but others have already expressed them here
| so I just wanted to say I love seeing this kind of philosophy
| expressed in a project like this.
|
| edit to fix typo
| peoplefromibiza wrote:
| As a Roman, the decision on how to prioritize the labels seems
| very interesting to me!
|
| https://i.postimg.cc/tCn1xSRF/image.png
|
| p.s. very cool project indeed
|
| edit: I don't know how it happened, but while panning the map
| with the mouse, the map flipped upside down.
|
| https://i.postimg.cc/sggZ2pHh/image.png
| hyperknot wrote:
| Thank you for sharing this, I'll make a issue about both.
|
| The Vatican situation is trickier than you'd think, as it's on
| country level, while Rome is on city level, and naturally you'd
| want to give countries a priority over cities. Like on low
| zooms you only want to show countries, then as it gets closer
| you show cities. Well, except for Vatican.
| vinibrito wrote:
| About displaying the vector tiles, which project goes well with
| it? I like Leaflet and worked extensively with it, but it has
| some compatibility problems with vector tiles and other small
| issues when dragging vector tiles for example. Is Maplibre the
| gold standard for vector tiles now?
| maelito wrote:
| Yes. It's active. But it's imperative. I didn't find a good
| React interface to MapLibre.
|
| See Streetcomplete switching to MapLibre.
| kylebarron wrote:
| https://visgl.github.io/react-map-gl/ is a react interface to
| MapLibre
| petre wrote:
| Maplibre works fine, there is even a plugin so you can use it
| in Leaflet. And it's a well maintained project.
|
| The other one is Mapbox GL from which Maplibre was forked. But
| you only use that with their tiles now.
| hyperknot wrote:
| Yes, MapLibre is the gold standard now.
| ryantgtg wrote:
| Neat!
|
| We used to host our own mbtiles map for like $11/mo, but the
| problem was (this was prior to planetiler and people generating
| public worldwide mbtile dumps) there wasn't a free/cheap source
| for regularly-updated mbtiles. The dump from OpenMapTiles was not
| updated for years.
|
| So we gave up and went to mapbox, where we regularly exceed the
| monthly free tier for web, but they give us a discount. Because
| that is a scary scenario and we are dying to pay a fixed monthly
| fee, I think we will try yours and donate!
| uneekname wrote:
| If your application allows for it, I also recommend checking
| out Protomaps / PMTiles. Brandon has some insanely cool work
| making a tile format and related infrastructure that scales
| nicely.
| hyperknot wrote:
| Thank you for sharing the story! I hope OpenFreeMap can
| contribute either with the MBTiles / Btrfs dumps, or with the
| public instance.
| audiala wrote:
| This is fantastic, thank you!
| binarymax wrote:
| Great project! Do you support geocoding with a nominatim api?
___________________________________________________________________
(page generated 2024-09-24 23:00 UTC)