Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Luxembourg TRP-VC Streets Dataset #107

Merged
merged 3 commits into from
Jun 22, 2021

Conversation

DavidMoraisFerreira
Copy link
Contributor

@DavidMoraisFerreira DavidMoraisFerreira commented Apr 2, 2021

Hello everyone,
I finally got around to implementing the TRP-VC dataset integration for Luxembourg (#3).
There was some data wrangling required, which was solved with two scripts:

build-extended-conversion.js

In Luxembourg, we normalize our street names using @grischard's csventrifuge. This script grabs the CSV files that contain the rewrite rules, converts them into JSON and creates a custom convert.json which rewrites street names based on it's name, or on its street identifier. Then, we merge the versioned convert.json and execute convert-tags once.

Ideally, I would've executed convert-tags.js twice, first using the versioned convert.json, and a second time using the street name normalization convert.json. However, convert-tags appends "original:" to all properties, so I ended up with "original:original:ATTR". We execute this late in the processing pipeline, as re-tagging the whole dataset beforehand is wasteful (unless #7 is implemented, then we need to retag the dataset beforehand).

create-uid.js

Our dataset doesn't have unique identifiers, as multiple segments of the same street have the identical ID_CAC_RUE. Therefore, we create a (quick and dirty) hash of the geometry, which we use as an identifier for MapRoulette. The assumption is that if the geometry changes, the changes will pop up again for review.

Is this something you would be interested in merging into your project? If you prefer the scripts be rewritten into TypeScript and included into your scripts folder, let me know (I don't mind the effort). We (@grischard and I) have been using the resulting diff.geojson to map new streets already. @grischard, are there improvements we could make to the processing pipeline?

I created a MapRoulette challenge to close the processing pipeline loop.

Update: I've gone through a couple of tasks and found most of them to be useful.

  1. Sometimes OSM has a turning_circle at the end of a residential highway and TRP-VC has the way going on for a couple of additional meters. This could probably be resolved with a larger buffer, but its not big deal.
  2. TRP-VC often adds the name of the "main" street to private driveways. I updated the MapRoulette instructions to describe what to do.

@DavidMoraisFerreira DavidMoraisFerreira marked this pull request as ready for review April 8, 2021 11:49
Copy link
Member

@jbelien jbelien left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! 👍

Could you just document the filters and tagging in your README file ?

Once merged, I'll enable the automated process using GitHub Actions.

@jbelien jbelien merged commit df48339 into osmbe:master Jun 22, 2021
@jbelien
Copy link
Member

jbelien commented Jun 22, 2021

Awesome ! Thanks @DavidMoraisFerreira !

I'll take care of the automated process ASAP 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants