3 ms·
Go to an OpenStreetMap like https://www.openstreetmap.org/#map=17/36.16567/-115.15036 https://www.openstreetmap.org/#map=17/36.16567/-115.15036 and click the 'l
by mtmail 7y ago
Go to an OpenStreetMap like https://www.openstreetmap.org/#map=17/36.16567/-115.15036 https://www.openstreetmap.org/#map=17/36.16567/-115.15036 and click the 'layer' icon on the right-hand side. This lead to https://www.openstreetmap.org/#map=17/36.16567/-115.15036&layers=D https://www.openstreetmap.org/#map=17/36.16567/-115.15036&la...
You will see all kind of objects (points, ways, polygons). Click on each will reveal a list of key-value pairs, e.g. the name of a street or if it's one-way. What key and value are use depends on the provider. I think Google Maps started with NavTec licensed database.
The data is put into a database (OpenStreetMap: postgresql). Renderer servers do SQL queries for a location and create PNG images (https://mapnik.org/ https://mapnik.org/). Similar (more complex) with vector output which is usually rendered in the client, e.g. in the browser (https://github.com/mapbox/mapbox-gl-js https://github.com/mapbox/mapbox-gl-js)
Later Google decided to skip NavTec and created their own database. They already had the StreeView cars which took photos of the whole USA. In a clean-room environment (no outside internet access) hundreds of employees traced the GPS tracks and photos from StreetView. Months-long and at huge cost. Even if it cost them a billion USD, it was cheaper long-term than paying the licence fees. Then repeat for more countries.
The book "Never Lost Again" (https://www.amazon.com/dp/B07CHPY6B9/ https://www.amazon.com/dp/B07CHPY6B9/) covers the early days from a project, not engineering, point of view.
If you want to play with the technology https://switch2osm.org/ https://switch2osm.org/ has good guides.
- whatitdobooboo 7y agoWow this is great - thank you
- mtmail 7y agoTo get a small glimpse into Apple Maps work, there is a public github repo coordinating work https://github.com/osmlab/appledata/issues/148 https://github.com/osmlab/appledata/issues/148