4 ms·
The OSM initiative is fantastic, but only the data is good. The software around it is low-quality, and the documentation is not good enough. I once managed to
by jokoon 7y ago
The OSM initiative is fantastic, but only the data is good. The software around it is low-quality, and the documentation is not good enough.
I once managed to import data exports I found on geofabrik and load it into a spatialite database. It was not very complicated but it was difficult to find help to understand what I was doing. But doing it felt pretty good. I still have to test if what I loaded actually works though.
Other experience I had, trying to load vector tiles from mapbox, with the PBF (google protocol buffers) format, in C++. I swiftly gave up. The C++ header generated was gigantic, apparently those .mbtiles were zipped PBF in a sqlite or something like that. It was horrendous. Mapbox seems like good software (and we need alternative to google maps) but I don't think they help OSM at all, at least not with the OSM model.
So in short, OSM needs some skilled engineers to work on the formats they can encourage. GIS is not a simple subject, and I wish there was more good FOSS for it.
Cheers to the OSMand team who can let me browse my region on my 70 euros android without a data plan, for free! That's a lot of money saved.
No doubt I will use OSM data to generate a 3D view of the world, so I can make a game with it. Outerra did it (they also made incredible city renders I think), but they are not planning to release a game, what a shame!
- hoseja 7y agoDo you have any recommendation for displaying vector maps in C++ (native program, not web)? The whole field seems very confusing.
- jokoon 7y agoNot at all, I don't. I tried rendering those mbtiles myself, and I failed. You can do as I as I did, import data from exports available on geofabrik into spatialite. And then progressively render data from spatialite (I did not try that step). ogr2ogr allows you to do this: ogr2ogr -f "SQLite" db.sqlite roads.shp -dsco SPATIALITE=YES You can find those .shp here http://download.geofabrik.de/ http://download.geofabrik.de/ Then the query in spatialite, here with python: where2 = lambda lng, lat, dist: " where PtDistWithin(geom, GeomFromText('POINT(%f %f)', 4326), %f, 0)"%(lng, lat, dist) select2 = lambda lng, lat, dist: "select id, AsText(geom) from points "+where2(lng, lat, dist)