[HN Gopher] A new way to make maps with OpenStreetMap
___________________________________________________________________
A new way to make maps with OpenStreetMap
Author : hampelm
Score : 173 points
Date : 2021-04-23 19:28 UTC (3 hours ago)
(HTM) web link (protomaps.com)
(TXT) w3m dump (protomaps.com)
| brunoqc wrote:
| > Pricing
|
| > coming soon...
| kennydude wrote:
| At least it's open source and self hostable so if it's too
| expensive for you, you can host it yourself
| mourner wrote:
| This is very nice! Happy to see a few of my libraries in the
| dependencies :)
|
| Also check out https://github.com/kothic/kothic-js, an older but
| similar attempt at making a full-fledged map renderer using 2D
| Canvas. It has a pretty good label rendering in particular which
| you might find useful.
| xrd wrote:
| This looks great.
|
| I am super excited about the parent tool, but unsure
| whether/when I can generate these bundles programmatically. I
| tried the web based tool and it works great, but what if I need
| to do it many, many times?
|
| Can your tool do this easily? Is there a way to generate tiles
| (tiles.pmtiles) that are imported in the same way?
|
| If I had stumbled on your project, I would not have been
| enthusiastic about it with just the writeup as-is. Seeing the
| parent project makes me see the possibilities: a completely
| independent mapping solution, free of any server/service tie in
| and additional costs. That is super exciting, and I would love
| to know if and how your project compares.
| iandanforth wrote:
| Very interesting, I'm currently using Google My Maps as a dead-
| simple custom mapping tool. I'm using it to collect layers of
| information as I conduct a nationwide housing search. It would be
| great if there were a solution that was as simple to get started
| with as My Maps but also had the flexibility to easily add custom
| data layers programmatically.
| loa_in_ wrote:
| > It would be great if there were a solution that was as simple
| to get started with as My Maps but also had the flexibility to
| easily add custom data layers programmatically.
|
| I believe _with some trickery_ you can use Google Earth for
| that
| wizzwizz4 wrote:
| The computer version, not the web version, right?
| jMyles wrote:
| Curious about your tool chain for real estate metadata. Is
| there a way to get a more retail-like experience and not have
| to deal so much with agents?
| DoreenMichele wrote:
| I'm curious what sorts of data you are collecting and how it
| helps to have it in map form rather than some other file
| format.
| Tomte wrote:
| > Existing formats like MBTiles are based on SQLite. This limits
| the ability to self-host maps to those confident running a server
| in production.
|
| Is that comical, or is there a deeper meaning I don't understand?
| [deleted]
| jleedev wrote:
| For comparison, Cloud Optimized GeoTIFF (COG) is specifically
| designed to be readable with HTTP Range requests, so the single
| file can be placed on S3 and be immediately usable.
|
| As others pointed out, the MVTs inside can be unpacked for
| static serving. But a SQLite database is not itself usable in
| this way.
| rakoo wrote:
| AFAIU MBTiles still need some application server to transform
| x/y/z into proper tiles to be served, which means provisioning
| a server, scaling it, maintaning it, and all the fun that comes
| with it; PMTiles is a simple blob that the frontend will
| download (only desired parts) and render directly in the
| browser.
| alohec wrote:
| You can use tippecanoe (https://github.com/mapbox/tippecanoe)
| with the --output-to-directory flag to output the individual
| .pbf tiles instead of a single MBTiles file. These tiles can
| then be hosted on something like s3 and your map-rendering
| client can query the necessary tiles, no server required.
| incanus77 wrote:
| Originally, MBTiles was designed for mobile offline. Then,
| Mapbox started serving directly from the SQLite for web & other
| clients, creating the Node.js SQLite bindings in the process.
| Eventually, they had an unpacker for MBTiles uploads that would
| stick the tiles in CDN. So, really no more complex than old
| school static content hosting.
|
| Source: I created MBTiles ;-)
| leokennis wrote:
| I read it as: existing solutions are too hard for simple people
| with less technical skill.
| [deleted]
| codetrotter wrote:
| Probably what they mean is that they want to be able to host
| the maps as static files that are served to the web.
|
| So that you can FTP some html, js, css, images and map data
| files to a web host and call it a day.
| alwayshumans wrote:
| You can already host vector tiles within S3 that work with Mapbox
| and other libraries.
|
| Not really sure what problem this is trying to solve.
| xrd wrote:
| Is this a simple process? Can you share a link to how this is
| done, I'm interested. I always assumed it was fairly
| complicated.
| alohec wrote:
| At least for simple GeoJSON you can use tippecanoe
| (https://github.com/mapbox/tippecanoe) with --output-to-
| directory to get individual .pbf tiles. Most rendering
| clients will have some scheme where you can provide a root
| url and then the tiles need to be stored in some defined
| structure beneath that (e.g. root/z/x/y.pbf)
|
| (posted something similar to another response)
| gorbypark wrote:
| I've used the utility tippecanoe with success to generate
| vector tiles from geojson sources and am hosting them
| statically. It's been overall pretty easy. The only gotcha I
| can remember is I needed to pass the no compression flag
| since mapbox gl can't read compressed tiles (and the file
| host will gzip everything anyways).
| worace wrote:
| The typical way to build and distribute Mapbox vector tiles has
| been by packing them into a sqlite database with individual
| rows for each Z/X/Y quad tree coordinate. This is what tools
| like tippecanoe typically produce.
|
| The problem with this is it still requires a running server
| process colocated with that sqlite db in order to service
| requests for individual tiles, like what you'll receive from a
| client-side mapping library.
|
| This project has a lot of different parts, but one of them is a
| spec for serving this type of data at low latency without a
| server by combining a custom packing format with S3 range-get
| requests to read individual tiles direct from blob storage. So
| that is certainly interesting for this kind of use-case.
| tppiotrowski wrote:
| Super excited for your project. I have been using map tiles from
| Mapbox, MapTiler, OSM Buildings for my project and am coming to
| the point that I need to merge elevation data with building
| height data in order to cast realistic shadows across the earth.
| Unfortunately elevation data and building data come from two
| different tile sets from two different tile providers and it's a
| lot of download/processing overhead to merge the two data
| sources. I need to make my own tiles!
|
| I spent part of today on the OSM wiki trying to wrap my head
| around Mapnik, how tiles are generated, how I am going to host
| this cheaply because my project is non-commercial, and then the
| HN gods smiled on me. Thank you for taking this on and I'm coming
| along for this journey!
| gorbypark wrote:
| I've had success using tippecanoe to generate mvt tiles from
| geojson sources, which in turn came from various sources (osm
| and otherwise) from QGIS. I didn't look into this project too
| much but it appears to be bundling mvt tiles into a single
| file? Either way, straight up mvt tiles are easy to generate
| and can be easily hosted statically on any web server/s3
| bucket/cdn.
| tppiotrowski wrote:
| Thanks for sharing your experience. Much of this vocabulary
| is still foreign to me but you've given me some the relevant
| keywords to Google.
|
| One of the main challenges when entering a highly specialised
| field is finding the vocabulary to express yourself.
| schoenobates wrote:
| I'd also recommend having a look at
| https://openmaptiles.org/. They have workflows and editors
| for working with MVT and Maplibre. You can combine a base
| map from maplibre with other sources using Openlayers [0]
|
| [0]: https://openlayers.org/en/latest/examples/mapbox-
| layer.html
| TurkishPoptart wrote:
| What kind of project can this tool be used for?
| c0nsumer wrote:
| This is really interesting to me. I do a lot of mapping of
| natural surface single track trails (for hiking and mountain
| biking) along the way be sure to properly name things, add
| intersection markers, and create relations (routes and
| superroutes) to document the systems.
|
| The biggest downside thus far is a good way of displaying the
| data. mtb.waymarkedtrails.org gets close, but I'd really like
| something that displays relations in the specified color, has
| sane intersection markers, etc.
|
| I feel like there should be something out there which effectively
| lets me design a style sheet and then apply it to a map which I
| embed somewhere (maybe even in an app).
|
| This... feels like it? Or if not this, can any of you recommend
| another system?
|
| Ideally I'd love something I can self-host. I tried getting a
| copy of waymarkedtrails going and then modifying that, but it's a
| bit too specialized and I kept running into quirks getting the
| toolchain set up.
|
| EDIT: Looks like this might not include the highway=path data
| that I need, much relations. Alas.
| ourguile wrote:
| Have you used GaiaGPS at all? I use it along with ridewithgps
| for looking at trail conditions and mapping points of interest
| on my rides and hikes. You can import your own custom map
| layers as well.
|
| The developers are fairly consistently adding new content as
| well, might not hurt to reach out.
___________________________________________________________________
(page generated 2021-04-23 23:00 UTC)