How to merge with NYC bike data?

Hi! I want to combine OSM data with information from the New York City (NYC) bike lane data (NYC DOT - Bicycle Maps). What I want to support:

  1. A map that displays streets and also bike lanes with new features I’m adding
  2. Routing (using bike lanes by default but falling back to non-bike-lanes if no such route is possible)

I work with geojson in Python and the key challenge is how to merge this data, the rest I should be able to do.

  • The bike data contains segments with a “segment id”,“from street”, “to street”, “street” and positions for the features
  • The segment id seems to be a NYC official designation (I believe it’s a unique identifier for a street segment), but I can’t find it in the OSM features (e.g. see example street features: Way: ‪West 24th Street‬ (‪396444294‬) | OpenStreetMap)

Given that, is the best guess to merge based on “from street” and “to street”? That assumes that street names are consistent (e.g. the same in NYC data as in OSM). Not sure that’s the case, but I can check.

Or do you recommend other approaches? I can imagine also merging based on geo-location of the segments but this feels trickier in practice.

Thank you!

First off, all I would recommend you look into postgis. That has a lot of features that might help you.

And I would recommend if you were going to do the naming matching that you normalise the names. Aka remove spaces, only lowercase change ë to e. etc. that will make the matching a lot less error prone.