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

V1 Refactor RC #327

Open
wants to merge 96 commits into
base: develop
Choose a base branch
from
Open

V1 Refactor RC #327

wants to merge 96 commits into from

Conversation

e-lo
Copy link
Collaborator

@e-lo e-lo commented Apr 13, 2023

This. PR factors out methods from the RoadwayNetwork class in order to more easily understand and manage the combined functionality.

  • Selection: new class object which does segment-based or unique-id-based selection stored as dict in RoadwayNetwork object
  • graph.py: functions related to osmnx and nx graph creation/translation and shortest path routing
  • Segment: new class object with segment-finding functions
  • viz.py: folium charts (removes this dependency if isn't being used)
  • /projects: module for each project type which has an apply script and supporting functions

TODO

  • add reference to and leverage networkwrangler/project card

Questions

  1. Create Project class object with same apply for each kind?

@e-lo e-lo self-assigned this Apr 13, 2023
@e-lo e-lo marked this pull request as draft April 13, 2023 20:52
e-lo added 20 commits April 27, 2023 15:02
- removed project card.py
- refactored selection, graph, subnet, segment from roadway network
- refactored project changes apply from roadway network
- refactored shapes, links and nodes specs from roadway network
+ varia bug fixes
transit selection tests passing
- generalize transit property change projects to be any attribute in table
- update required link attr
- pep8
- refactor time --> timespan
…n formats

- Remove LocationReferences from required part of schema that we fill in. Jump straight to geometries.
- Make link geometry creation a vector operation —> speeds up significantly 30-100 times as fast
- Added - Accessor for link true-shapes
- Add clipping functionality for roadway and transit
- changes copy to deepcopy() to make sure geodataframes CRS are copied
- update linting settings
…alar.

Fixes #361  and associated tests
Generalizes copy and offset links from `modelroadway.py` --> `links/create.py`
Checks and generates access/egress links if there aren't any created when a managed lane is added but no explicit access or egress is set in the project card.
- Will sniff and convert from v0 to v1 on read
- Will write to v0 if flagged on write using `convert_complex_link_properties_to_single_field`
- Should fix #359
TODO: needs tests
* Add network format and methods docs
- consolidate all scripts in network_wrangler/bin directory
- list scripts in pyproject.toml for installation
- normalize the #! of all scripts
- add validation scripts for networks and associated helper functions fixes #285
Set stop_id as a valid model_node_id

- Remove concept of separate stop_id but store gtfs stop_id as gtfs_stop_id.
- Fixes #354

I'm going to go ahead and merge this so I can proceed with other items.
Cherrypick of : 6aad831 but with catch for DEFAULT_CATEGORY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment