[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)