Project-OSRM / osrm-backend

Open Source Routing Machine - C++ backend
http://map.project-osrm.org
BSD 2-Clause "Simplified" License
6.41k stars 3.39k forks source link

Remove osrm-components #2176

Closed TheMarex closed 7 years ago

TheMarex commented 8 years ago

We added support for small/big component flags in the tile plugins. That means we don't have to generate that with a separate tool but can serve it at runtime from the demo server.

daniel-j-h commented 8 years ago

/cc @woodpeck @joto what's your take on this especially re. integration into other OSM QA tools?

danpat commented 8 years ago

There was no styling for the small components layer in osrm-frontend/debug, so I've added that here: https://github.com/Project-OSRM/osrm-frontend/commit/2725627281abc0e4b5c0ec0609a15dc5597b90cb

However, the is_small attribute on the vector tiles from the develop branch is currently broken - it's always false. This is already fixed in rewrite/new-api.

@TheMarex if we're going to stick with the raster maps on the frontend, we could consider adding the small components there as a layer using: https://github.com/SpatialServer/Leaflet.MapboxVectorTile I've never used it, but it seems like it might work.

joto commented 8 years ago

@daniel-j-h: Not sure what this change means. If it means there is no way to get all the potential errors out of the system any more, but you have to ask for some in a specific area or so, than that would make integrating with other tools more difficult, if they rely on complete data dumps.

daniel-j-h commented 8 years ago

@joto we won't be able to generate the small components layer anymore which currently is getting used e.g. in your inspector. It will be only available on demand via http://map.project-osrm.org/debug/#14.07/52.5201/13.4036.

danpat commented 8 years ago

@daniel-j-h @joto note that if you're using OpenLayers 3 or Leaflet with the plugin above, the vector tiles from OSRM can be directly added to the map to replace the existing raster rendered tiles.

Example of adding vector tiles with OpenLayers 3: http://openlayers.org/en/v3.14.1/examples/mapbox-vector-tiles-advanced.html

joto commented 8 years ago

@danpat That's not going to help with OSMI, because OSMI needs the raw data in some form. This is not only about rendered tiles, but about the data. And OSMI doesn't support vector tiles. (It probably should use vector tiles at some point, but that's a different issue.) So if you don't generate a Shapefile or Sqlite file or so from the data, OSMI (as it is today) can not show that layer any more.

danpat commented 8 years ago

@joto Ok. The main point of this change is to strip out our dependency on GDAL - we're only using it to generate the shapefiles for the small components layer.

For visual finding of small components, the debugging vector tiles should be used.

Can you describe how OSMI is using the small components shapefile for data? Maybe there's another format we can publish that would be simpler to generate.

joto commented 8 years ago

What's the problem with the GDAL dependency? If it is only for an extra program that nobody else uses then it isn't a problem, is it?

If you click on objects in OSMI you see the IDs etc. And you can get everything that's in a layer in a list instead of in a graphic.

woodpeck commented 8 years ago

OSMI could consume a different file (e.g. GeoJSON) just a well. But I can simply run an older version of the OSRM code directly on Geofabrik infrastructure to generate the "islands" view if that's easier.