Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.