-
Notifications
You must be signed in to change notification settings - Fork 2
Rjf/compass edge lists #17
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
Merged
Merged
Changes from 22 commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
07d99e4
edge lists from routee-compass
robfitzgerald 4d77fe4
test config compass w/ edge list
robfitzgerald 9ba115d
bambam cargo use workspace dependencies
robfitzgerald a7f12b2
fix wkb version
robfitzgerald 8934cb7
expose iterator builder methods
robfitzgerald dfa4183
remove invalid total in progress bar
robfitzgerald 5fc7586
remove invalid total in progress bar
robfitzgerald 0f6e477
fmt
robfitzgerald f9f1d56
configuration for tomtom-based test case
robfitzgerald f798366
end-to-end test of bambam for CI
robfitzgerald 6ed57b9
fmt
robfitzgerald 1dbca87
app runner returning rows
robfitzgerald fb5292b
use persist in test for assertions
robfitzgerald 35300a7
fmt
robfitzgerald a9239ac
clippy
robfitzgerald 42a024b
script dir missing
robfitzgerald f3704cc
fix filenames
robfitzgerald ec95093
fix filenames
robfitzgerald b38ab54
fix branch target for compass
robfitzgerald 8006dcb
point to file with specific date to avoid potential 302 response
robfitzgerald d037fcd
remove unused
robfitzgerald 47d3c8b
fix filename in test
robfitzgerald 2521adf
skip e2e tests on publish
robfitzgerald 16c2bb1
use git rev id (edge lists) for routee-compass dependency
robfitzgerald File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -25,7 +25,7 @@ jobs: | |
|
|
||
| - name: Install test assets | ||
| run: | | ||
| ./setup.sh | ||
| ./setup_bambam_osm_test.sh | ||
|
||
|
|
||
| - name: Test | ||
| run: | | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,4 +4,5 @@ Cargo.lock | |
| target | ||
| output | ||
| cache | ||
| .venv | ||
| .venv | ||
| denver_co/ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,239 @@ | ||
| parallelism = 6 | ||
| response_persistence_policy = "persist_response_from_memory" | ||
|
|
||
| [graph] | ||
| edge_list.input_file = "../denver_co/edges-compass.csv.gz" | ||
| vertex_list_input_file = "../denver_co/vertices-compass.csv.gz" | ||
|
|
||
| [mapping] | ||
| type = "edge" | ||
| geometry = { input_file = "../denver_co/edges-geometries-enumerated.txt.gz" } | ||
| tolerance.distance = 15.0 | ||
| tolerance.unit = "meters" | ||
| queries_without_destinations = false | ||
| matching_type = ["point", "vertex_id", "edge_id"] | ||
|
|
||
| [algorithm] | ||
| type = "a*" | ||
|
|
||
| # cut off searches that exceed these termination policies. | ||
| [termination] | ||
| type = "combined" | ||
| [[termination.models]] | ||
| type = "query_runtime" | ||
| limit = "00:01:00" | ||
| frequency = 100_000 | ||
| [[termination.models]] | ||
| type = "solution_size" | ||
| limit = 2_000_000 | ||
|
|
||
| [search.traversal] | ||
| type = "combined" | ||
|
|
||
| [[search.traversal.models]] | ||
| type = "distance" | ||
| distance_unit = "miles" | ||
|
|
||
| [[search.traversal.models]] | ||
| type = "fixed_speed" | ||
| name = "walk" | ||
| speed = 5.0 | ||
| speed_unit = "kph" | ||
|
|
||
| [[search.traversal.models]] | ||
| type = "fixed_speed" | ||
| name = "bike" | ||
| speed = 16.0 | ||
| speed_unit = "kph" | ||
|
|
||
| [[search.traversal.models]] | ||
| type = "speed" | ||
| speed_table_input_file = "../denver_co/edges-posted-speed-enumerated.txt.gz" | ||
| speed_unit = "kph" | ||
|
|
||
| [[search.traversal.models]] | ||
| type = "multimodal" | ||
|
|
||
| [search.traversal.models.dependencies] | ||
| walk = [{ input_feature = { name = "walk_speed", type = "speed" }, destination_features = ["edge_time", "trip_time"] }] | ||
| bike = [{ input_feature = { name = "bike_speed", type = "speed" }, destination_features = ["edge_time", "trip_time"] }] | ||
| drive = [ | ||
| { input_feature = { name = "edge_speed", type = "speed" }, destination_features = ["edge_time", "trip_time"] }, | ||
| # { time_feature = "trip_enroute_delay", destinations = [ | ||
| # "edge_time", | ||
| # "trip_time", | ||
| # ] }, | ||
| ] | ||
|
|
||
| [search.traversal.models.output_features] | ||
| trip_time = { type = "time", unit = "minutes", initial = 0.0, accumulator = true } | ||
| edge_time = { type = "time", unit = "minutes", initial = 0.0, accumulator = false } | ||
| # penalty_factor = { name = "factor", unit = "none", accumulator = false, format = { FloatingPoint = { initial = 1.0 } } } | ||
|
|
||
| # use a time-optimal routing strategy | ||
| [cost] | ||
| weights = { trip_time = 1.0 } | ||
| vehicle_rates = { trip_time = { type = "raw" } } | ||
| # weights = { trip_time = 1.0, penalty_factor = 1.0 } | ||
| # vehicle_rates = { trip_time = { type = "raw" }, penalty_factor = { type = "raw" } } | ||
| cost_aggregation = "sum" | ||
|
|
||
| [search.access] | ||
| type = "turn_delay" | ||
| edge_heading_input_file = "../denver_co/edges-headings-enumerated.csv.gz" | ||
| [search.access.turn_delay_model] | ||
| type = "tabular_discrete" | ||
| time_unit = "seconds" | ||
| [search.access.turn_delay_model.table] | ||
| no_turn = 0.0 | ||
| slight_right = 0.5 | ||
| right = 1.0 | ||
| sharp_right = 1.5 | ||
| slight_left = 1.0 | ||
| left = 2.5 | ||
| sharp_left = 3.5 | ||
| u_turn = 9.5 | ||
|
|
||
| [search.frontier] | ||
| type = "combined" | ||
|
|
||
| [[search.frontier.models]] | ||
| type = "road_class" | ||
| road_class_input_file = "../denver_co/edges-road-class-enumerated.txt.gz" | ||
|
|
||
| # [[search.frontier.models]] | ||
| # type = "turn_restriction" | ||
| # turn_restriction_input_file = "../denver_co/edges-turn-restrictions.csv.gz" | ||
|
|
||
| [[search.frontier.models]] | ||
| type = "time_limit" | ||
| time_limit = { time = 40.0, time_unit = "minutes" } | ||
|
|
||
| [[plugin.input_plugins]] | ||
| type = "grid" | ||
| extent_format = "wkt" | ||
| grid = { type = "h3", resolution = 8 } | ||
| [plugin.input_plugins.population_source] | ||
| type = "acs" | ||
| acs_type = "five_year" | ||
| acs_year = 2022 | ||
| acs_resolution = "census_tract" | ||
| acs_categories = ["B01001_001E"] | ||
|
|
||
| [[plugin.input_plugins]] | ||
| type = "inject" | ||
| format = "key_value" | ||
| write_mode = "overwrite" | ||
| key = "grid_search" | ||
| [plugin.input_plugins.value] | ||
| mode = ["walk", "bike", "drive"] | ||
| # modes = [{ mode = "walk", road_classes = [4, 5, 6, 7] }, { mode = "bike", road_classes = [4, 5, 6, 7] }, { mode = "drive", road_classes = [1, 2, 3, 4, 5, 6] }] | ||
|
|
||
| [[plugin.input_plugins]] | ||
| type = "inject" | ||
| key = "start_time" | ||
| value = "08:00:00" | ||
| format = "key_value" | ||
| write_mode = "overwrite" | ||
|
|
||
| [[plugin.input_plugins]] | ||
| type = "inject" | ||
| key = "start_weekday" | ||
| value = "monday" | ||
| format = "key_value" | ||
| write_mode = "overwrite" | ||
|
|
||
| [[plugin.input_plugins]] | ||
| type = "grid_search" | ||
|
|
||
| [[plugin.input_plugins]] | ||
| type = "load_balancer" | ||
| [plugin.input_plugins.weight_heuristic] | ||
| type = "custom" | ||
| [plugin.input_plugins.weight_heuristic.custom_weight_type] | ||
| type = "categorical" | ||
| column_name = "mode" | ||
| default = 1 | ||
| mapping = { "walk" = 1, "bike" = 10, "drive" = 100 } | ||
|
|
||
| [[plugin.output_plugins]] | ||
| type = "summary" | ||
|
|
||
| [[plugin.output_plugins]] | ||
| type = "isochrone" | ||
| time_bin = { type = "list", times = [10, 20, 30, 40] } | ||
| isochrone_algorithm = { type = "k_nearest_concave_hull", k = 3 } | ||
| destination_point_generator = { type = "destination_point" } | ||
| isochrone_output_format = "wkb" | ||
|
|
||
| ### MEP OPPORTUNITY DATA CONFIGURATION ################################# | ||
| # assigns opportunities to search results based on a file or api data source | ||
| # and a taxonomy for MEP activity types. | ||
| # this example shows data loaded from the census LODES online file repository | ||
| # assigning activity types by NAICS sector id. | ||
| [[plugin.output_plugins]] | ||
| type = "opportunity" | ||
| collect_format = "aggregate" | ||
|
|
||
| [plugin.output_plugins.model] | ||
| type = "combined" | ||
|
|
||
| [[plugin.output_plugins.model.models]] | ||
| type = "api" | ||
| vertex_input_file = "../denver_co/vertices-compass.csv.gz" | ||
| activity_column_names = ["entertainment", "food", "retail", "healthcare", "services", "jobs"] | ||
| table_orientation = "destination_vertex_oriented" | ||
|
|
||
| [plugin.output_plugins.model.models.opportunity_source] | ||
| type = "lodes" | ||
| study_region = { type = "census", geoids = ["08"] } | ||
|
|
||
| # collect LODES data at the tract level. while it is available at the block, | ||
| # the download + processing time is 10x that of census tracts. other possible values | ||
| # are `block`, `county` or `state`. | ||
| data_granularity = "census_tract" | ||
| # different editions of the dataset, we are choosing LODES v 8.0. | ||
| edition = "LODES8" | ||
| # Job Type, can have a value of “JT00” for All Jobs, “JT01” for Primary Jobs, “JT02” for All | ||
| # Private Jobs, “JT03” for Private Primary Jobs, “JT04” for All Federal Jobs, or “JT05” for | ||
| # Federal Primary Jobs | ||
| job_type = "JT00" | ||
| # Segment of the workforce, can have the values of: | ||
| # - S000: Total number of jobs (default) | ||
| # - SA01: Number of jobs of workers age 29 or younger | ||
| # - SA02: Number of jobs for workers age 30 to 54 | ||
| # - SA03: Number of jobs for workers age 55 or older | ||
| # - SE01: Number of jobs with earnings $1250/month or less | ||
| # - SE02: Number of jobs with earnings $1251/month to $3333/month | ||
| # - SE03: Number of jobs with earnings greater than $3333/month | ||
| # - SI01: Number of jobs in Goods Producing industry sectors | ||
| # - SI02: Number of jobs in Trade, Transportation, and Utilities industry sectors | ||
| # - SI03: Number of jobs in All Other Services industry sectors | ||
| segment = "S000" | ||
|
|
||
| # most recent year with all states. Alaska has no coverage from 2017-2022. we may | ||
| # want a "continental" variant which could support 2022. | ||
| year = 2022 | ||
|
|
||
| [plugin.output_plugins.model.models.opportunity_source.activity_mapping] | ||
| # see https://lehd.ces.census.gov/data/lodes/LODES8/LODESTechDoc8.0.pdf | ||
| CNS01 = ["jobs"] # 11 (Agriculture, Forestry, Fishing and Hunting) | ||
| CNS02 = ["jobs"] # 21 (Mining, Quarrying, and Oil and Gas Extraction) | ||
| CNS03 = ["jobs"] # 22 (Utilities) | ||
| CNS04 = ["jobs"] # 23 (Construction) | ||
| CNS05 = ["jobs"] # 31-33 (Manufacturing) | ||
| CNS06 = ["jobs"] # 42 (Wholesale Trade) | ||
| CNS07 = ["jobs", "retail"] # 44-45 (Retail Trade) | ||
| CNS08 = ["jobs"] # 48-49 (Transportation and Warehousing) | ||
| CNS09 = ["jobs"] # 51 (Information) | ||
| CNS10 = ["jobs"] # 52 (Finance and Insurance) | ||
| CNS11 = ["jobs"] # 53 (Real Estate and Rental and Leasing) | ||
| CNS12 = ["jobs", "services"] # 54 (Professional, Scientific, and Technical Services) | ||
| CNS13 = ["jobs"] # 55 (Management of Companies and Enterprises) | ||
| CNS14 = ["jobs"] # 56 (Admin/Support/Waste Mgmt/Remediation Services) | ||
| CNS15 = ["jobs"] # 61 (Educational Services) | ||
| CNS16 = ["jobs", "healthcare"] # 62 (Health Care and Social Assistance) | ||
| CNS17 = ["jobs", "entertainment"] # 71 (Arts, Entertainment, and Recreation) | ||
| CNS18 = ["jobs", "food"] # 72 (Accommodation and Food Services) | ||
| CNS19 = ["jobs"] # 81 (Other Services [except Public Administration]) | ||
| CNS20 = ["jobs"] # 92 (Public Administration) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The script name
setup_bambam_osm_test.shdoesn't match any of the actual script files created in this PR. It should be./script/setup_test_bambam_osm.shto match the new file structure.