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

feat: Add experimental cargo bike profile #1744

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jan-bausch
Copy link

Pull Request Checklist

  • 1. I have rebased the latest version of the main branch into my feature branch and all conflicts
    have been resolved.
  • 2. I have added information about the change/addition to functionality to the CHANGELOG.md file under the
    [Unreleased] heading.
  • 3. I have documented my code using JDocs tags.
  • 4. I have removed unnecessary commented out code, imports and System.out.println statements.
  • 5. I have written JUnit tests for any new methods/classes and ensured that they pass.
  • 6. I have created API tests for any new functionality exposed to the API.
  • 7. If changes/additions are made to the ors-config.json file, I have added these to the ors config documentation
    along with a short description of what it is for, and documented this in the Pull Request (below).
  • 8. I have built graphs with my code of the Heidelberg.osm.gz file and run the api-tests with all test passing
  • 9. I have referenced the Issue Number in the Pull Request (if the changes were from an issue).
  • 10. For new features or changes involving building of graphs, I have tested on a larger dataset
    (at least Germany), and the graphs build without problems (i.e. no out-of-memory errors).
  • 11. For new features or changes involving the graphbuilding process (i.e. changing encoders, updating the
    importer etc.), I have generated longer distance routes for the affected profiles with different options
    (avoid features, max weight etc.) and compared these with the routes of the same parameters and start/end
    points generated from the current live ORS.
    If there are differences then the reasoning for these MUST be documented in the pull request.
  • 12. I have written in the Pull Request information about the changes made including their intended usage
    and why the change was needed.
  • 13. For changes touching the API documentation, I have tested that the API playground renders correctly.

Fixes # .

Information about the changes

  • Create a new type for junctions (JunctionType.java)
  • Create an Extractor to fetch junctions (JunctionExtractor.java)
  • Create a place to store junctions (JunctionGraphStorage.java)
  • To create a storage implement a StorageBuilder (JunctionGraphStorageBuilder.java)
  • Add tests for new files (JunctionGraphStorageBuilderTest.java)
  • Prefer cycling infrastructure on small streets

Examples and reasons for differences between live ORS routes, and those generated from this pull request

Required changes to ors config (if applicable)

* First changes

* second part

* Third part

* Changes for junction

* Implement availability of junction tags

Junctions are not handled by ORS.
They need to be implemented and tested, similar to how Tollways are handled.

- Create a new type for junctions (JunctionType.java)
- Create an Extractor to fetch junctions (JunctionExtractor.java)
- Create a place to store junctions (JunctionGraphStorage.java)
- To create a storage implement a StorageBuilder (JunctionGraphStorageBuilder.java)
- Add junction tag in other necessary places (APIEnums| AvoidFeaturesEdgeFilter | ...)
- Remove Tollways from
  "ors-engine/src/main/resources/META-INF/services/org.heigit.ors.routing.graphhopper.extensions.storages.builders.GraphStorageBuilder"
- Add tests for new files (JunctionGraphStorageBuilderTest.java)

* Modify route visualization w/ folium

* Copy green_streets_hd.csv file and build graph

* Add more routes to apicaller.ipynb

* Add cycling infrastructure on small streets

* Remove special character

* Set-up for aws environment

* Update .dockerignore

* Update .dockerignore

* Update .dockerignore

* Update .gitignore

* Update ors-config.json

* Update .rpm-packaging/ors-config.json

* Delete .vscode/settings.json

* Update docker-compose.yml

* Update docker-compose.yml

* Update docker-compose.yml

* Update docker-compose.yml

* Update .dockerignore

* Delete modified.sh

* Update ors-config.yml

* Update ors-config.yml

* Update ors-config.yml

* Update ors-api/src/test/java/org/heigit/ors/api/services/RoutingServiceTest.java

* Update ors-api/src/test/java/org/heigit/ors/api/services/RoutingServiceTest.java

* Update ors-engine/src/main/java/org/heigit/ors/routing/RoutingProfile.java

* Update ors-engine/src/main/java/org/heigit/ors/routing/graphhopper/extensions/OSMTags.java

* Update ors-engine/src/main/java/org/heigit/ors/routing/graphhopper/extensions/OSMTags.java

* Delete requirements.txt

* Apply suggestions from code review

* Delete subprocess.sql

* Delete testtools/requirements.txt

* Delete testtools/apicaller.ipynb

* Update ors-config.json

* Update ors-config.json

* Update ors-config.yml

* Update .dockerignore

* Apply suggestions from code review

* Update APIEnums.java

* Update RequestProfileParamsWeightings.java

* Update .dockerignore
@MichaelsJP
Copy link
Member

MichaelsJP commented Mar 11, 2024

@jan-bausch Hi and welcome.

Thanks for opening a PR for a cargo bike profile. Interesting.
Please provide us with a bit more context for this PR so we can more easily understand what you plan to achieve exactly.

If it is a still in progress, please switch to a PR draft first and let's have some discussion around it.

Cheers!

@jan-bausch jan-bausch marked this pull request as draft March 11, 2024 14:13
Copy link

sonarcloud bot commented Mar 18, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
15.6% Duplication on New Code (required ≤ 3%)

See analysis details on SonarCloud

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.

None yet

2 participants